問題タブ [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.
c# - FluentAssertions、IEnumerable に 1 つの要素のみが含まれるようにする
私は単体テストを書いていますが、次のようなものがあります。
そしてGetFoos()
戻ってきて、IEnumberable<Foo>
c# - FluentAssertions で読み取り専用プロパティを (正しく) 除外する方法は?
読み取り専用プロパティを除外したFluentAssertionsの素晴らしいメソッドでオブジェクトの詳細な比較を行いたいと考えています。ShouldBeEquivalent
以下の作品:
ただしPropertyInfo
、「このプロパティは将来のバージョンで削除されます。SelectedMemberInfo
代わりに使用してください。」という警告が表示され、古いものとしてマークされています。その型には contains Name
、MemberType
、およびそれだけが含まれDeclaringType
ているため、プロパティに対して特定のチェックを行うには十分ではありません。(内部的には、インスタンスは実際には のように見えますがPropertySelectedMemberInfo
、これ以上何も追加しません。)
では、これらの種類のプロパティに対するチェックを行う推奨される、廃止されていない方法は何ですか? SelectedMemberInfo
まだ進行中の作業ですか?
c# - Mongo DateTime 比較で FluentAssertion が失敗する
これに似たFluentAssertionを使用した単体テストがあります。
その最新のアサーションは、次のメッセージで失敗します。
ご覧のとおり、FluentAssertion は同じ日時を報告しますが、それでも失敗します。
その特定のケースでは、私のレジストリ バックエンドは、最新の C# ドライバーを介してアクセスする MongoDB です。ただし、特定のアサーションが失敗しない他のバックエンド (Zookeeper や Consul など) を使用できます。
だから私の推測では、問題はFluentAssertionではなく、Mongo C#ドライバーにあると思います。私はMongoでDateTimeシリアル化オプションを少し試しました(どこでもUTCを使用しており、Mongoのデフォルトでもあるようです)が、成功していません。何が間違っている可能性がありますか?
ご協力いただきありがとうございます。
c# - 最新の FluentAssertions に更新すると単体テストが中断する
Unittest プロジェクトを最新バージョンの FluentAssertions (4.0.1) で更新しようとしていますが、API の変更によりテストがコンパイルされなくなりました。更新前はバージョン 3.4.1 を使用していましたが、次のコードをコンパイルして正常に動作しました。
このテストでは、クラスのインスタンスをシリアル化および逆シリアル化し、FluentAssertions を使用して 2 つのオブジェクトを比較しますIgnoreDataMemberAttribute
。
そのため、PropertyInfo
もう存在しないためISubjectInfo
、使用する必要がありますが、提供されたプロパティ (SelectedMemberInfo
など) のいずれも、テストが緑色に実行されるのに役立ちません。
私の質問は、FluentAssertions 4.0.1 で動作するテストコードを更新するにはどうすればよいですか?
c# - 2 つのオブジェクトが完全に等しいことをアサートする
Should()
以下の簡単な例では、コメントで説明した方法でテストをパスして失敗させる単一のアサーションを見つけようとしています。私が現在使用しているresult.ShouldBeEquivalentTo(expectedResult, o => o.RespectingRuntimeTypes())
ものは、最後の 2 つのテストで失敗しませんでした。目標は、result
常にexcpectedResult
まったく同じ型と値を持つ必要があることです。