3

私はこれを行うことができるドキュメントから知っています...

result.Should().BeOfType<MyClass>().Which.Property1.Should().Be("String")

同様の方法で複数のプロパティをテストできる方法はありますか

result.Should().BeOfType<MyClass>().Which.Property1.Should().Be("String").And.Property2.Should().Be(99);

また、上記のテストのいずれかが「OfType」であると断言することなく実行できればよいのですが、どのプロパティが利用可能かをコードが知る方法は他にないと思います。

4

2 に答える 2

3

You can do a structural comparison assertion against an anonymous type, like this:

result.ShouldBeEquivalentTo(new { Property1 = "String", Property2 = 99 }, options => options.ExcludingMissingMembers());

于 2016-02-03T17:55:26.917 に答える
2

簡単な解決策の 1 つは、BeOfType<>() によって返される AndWhichConstraint 型を使用することです。

これは私がやっていることです:

var myClassType = result.Should().BeOfType<MyClass>;
myClassType.Which.Property1.Should().Be("String");
myClassType.Which.Property2.Should().Be(99);
于 2020-10-08T14:10:49.463 に答える