2016-06-15 27 views
0

私は部品番号に& FluentAssertionsの使用を開始し、これを見つける:FluentAssertions:int.Should()。等しい結果が間違った結果を返しますか?

コードで
results.Results.Count.Should().Equals(1); 

、results.Resultsは、クラスリストのリストを返します。テストの設定では、results.Results.Count = 3と設定しました(この#はデバッグでも正しいことがわかります)。しかし何とか、上記の.Equalsテストが合格しました。それから、私はそれを

results.Results.Count.Should().Equals("1"); 

に変更しました。それは私がそう

results.Results.Count.ShouldBeEquivalentTo(1); 

を使用している場合、質問は失敗します。

何results.Results.Count.Should()に等しい( "1")を比較しますか?それはなぜ渡されましたか?

おかげ

+1

私は '.Should()'は 'Moq'の一部ではないと思います。編集:うん、私はそれを見つけることができません[ドキュメント](http://www.nudoq.org/#!/Projects/Moq) –

+0

[FluentAssertions](https://github.com)のように見える/ dennisdoomen/FluentAssertions)。ありがとうございます。 –

+0

それを変更しました。 – urlreader

答えて

8
results.Results.Count.Should().Equals(1); 

が無視されているboolを返しShould()によって返されたオブジェクトにObjectから継承されたEqualsメソッドを呼び出しています。 BeまたはEqualなどを使用する必要があります。

results.Results.Count.Should().Be(1); 
関連する問題