問題タブ [fluent-assertions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5166 参照

c# - FluentAssertions、IEnumerable に 1 つの要素のみが含まれるようにする

私は単体テストを書いていますが、次のようなものがあります。

そしてGetFoos()戻ってきて、IEnumberable<Foo>

0 投票する
0 に答える
234 参照

c# - FluentAssertions で読み取り専用プロパティを (正しく) 除外する方法は?

読み取り専用プロパティを除外したFluentAssertionsの素晴らしいメソッドでオブジェクトの詳細な比較を行いたいと考えています。ShouldBeEquivalent以下の作品:

ただしPropertyInfo、「このプロパティは将来のバージョンで削除されます。SelectedMemberInfo代わりに使用してください。」という警告が表示され、古いものとしてマークされています。その型には contains NameMemberType、およびそれだけが含まれDeclaringTypeているため、プロパティに対して特定のチェックを行うには十分ではありません。(内部的には、インスタンスは実際には のように見えますがPropertySelectedMemberInfo、これ以上何も追加しません。)

では、これらの種類のプロパティに対するチェックを行う推奨される、廃止されていない方法は何ですか? SelectedMemberInfoまだ進行中の作業ですか?

0 投票する
1 に答える
252 参照

c# - Mongo DateTime 比較で FluentAssertion が失敗する

これに似たFluentAssertionを使用した単体テストがあります。

その最新のアサーションは、次のメッセージで失敗します。

ご覧のとおり、FluentAssertion は同じ日時を報告しますが、それでも失敗します。

その特定のケースでは、私のレジストリ バックエンドは、最新の C# ドライバーを介してアクセスする MongoDB です。ただし、特定のアサーションが失敗しない他のバックエンド (Zookeeper や Consul など) を使用できます。

だから私の推測では、問題はFluentAssertionではなく、Mongo C#ドライバーにあると思います。私はMongoでDateTimeシリアル化オプションを少し試しました(どこでもUTCを使用しており、Mongoのデフォルトでもあるようです)が、成功していません。何が間違っている可能性がありますか?

ご協力いただきありがとうございます。

0 投票する
2 に答える
131 参照

c# - 最新の FluentAssertions に更新すると単体テストが中断する

Unittest プロジェクトを最新バージョンの FluentAssertions (4.0.1) で更新しようとしていますが、API の変更によりテストがコンパイルされなくなりました。更新前はバージョン 3.4.1 を使用していましたが、次のコードをコンパイルして正常に動作しました。

このテストでは、クラスのインスタンスをシリアル化および逆シリアル化し、FluentAssertions を使用して 2 つのオブジェクトを比較しますIgnoreDataMemberAttribute

そのため、PropertyInfoもう存在しないためISubjectInfo、使用する必要がありますが、提供されたプロパティ (SelectedMemberInfoなど) のいずれも、テストが緑色に実行されるのに役立ちません。

私の質問は、FluentAssertions 4.0.1 で動作するテストコードを更新するにはどうすればよいですか?

0 投票する
1 に答える
652 参照

c# - 2 つのオブジェクトが完全に等しいことをアサートする

Should()以下の簡単な例では、コメントで説明した方法でテストをパスして失敗させる単一のアサーションを見つけようとしています。私が現在使用しているresult.ShouldBeEquivalentTo(expectedResult, o => o.RespectingRuntimeTypes())ものは、最後の 2 つのテストで失敗しませんでした。目標は、result常にexcpectedResultまったく同じ型と値を持つ必要があることです。