問題タブ [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 ShouldNotThrow が非同期メソッド/Func で認識されない
非同期メソッドが具体的な例外をスローすることを確認しようとしています。
そのために、MSTEST と FluentAssertions 2.0.1 を使用しています。
Codeplex に関するこのディスカッションを確認し、非同期例外メソッドでどのように機能するかを確認するために、FluentAssertions 非同期テストに関する別のリンクを確認しました。
しばらくして「プロダクション」コードを操作しようとした後、Fluentassertions の偽の aync クラスに切り替えました。結果のコードは次のようになります (このコードを[TestClass]
:の中に入れます)。
問題は、それShouldNotThrow
が有効でないことです:
コードは ShouldNotThrow メソッドを認識しません。コンパイルしようとすると、次のエラーが表示されます。 ' 無効な引数があります
ありがとう。
解決
2.0.1 FA バージョンはこの機能をサポートしておらずShouldNotThrow
、次のリリース 2.1 (来週近く) に含まれる予定です。
注: ShouldThrow は 2.0.1 バージョンで既にサポートされています。
c# - float がいくつかの値の 1 つに近似していることをアサートする
Fluent Assertions を使用して、独自の軸に射影されたベクトルがv.Length()
またはに近似していることを確認しようとしています-v.Length()
。
投影はおおよそのものであると断言できます。result.Should().BeApproximately(v.Length())
または、投影がいくつかの結果の 1 つであると断言できます。result.Should().BeOneOf(v.Length(), -v.Length())
どうすれば2つを組み合わせることができますか?
c# - Fluent アサーション PropertyInfo BeDecoratedWith
.NET FluentAssertionsライブラリ (バージョン 2.1.0) にはBeDecoratedWith<T>()
、型 (または型メンバー) に特定の属性が適用されていることをアサートするための実装がいくつかあります。これらの呼び出しは次のようになります。
Name
ラムダ式は、属性がsome と等しいことをアサートしますexpectedValue
。
これはsut
、 が型の場合は優れていますが、メンバーの場合はBeDecoratedWith<T>
、ラムダ式を取るオーバーロードはありません。
ドキュメントは拡張性をすばやくカバーしていますが、上記のようなラムダを受け入れるクラスのオーバーロード (または拡張メソッド)BeDecoratedWith<T>
を作成する方法を理解するのに苦労しています。PropertyInfoAssertions
これを達成するために流暢なアサーションを拡張する適切な方法を誰かに教えてもらえますか?
c# - 流暢なアサーションを使用してコレクション内のすべてのアイテムをアサートする方法は?
fluent-assertionsを使用して次のタイプのアイテムの束を返すメソッドをテストして、すべてのアイテムのIsActive
-flag が に設定されていることを確認したいとしtrue
ます。
これを実現するには、コレクションを繰り返し処理し、foreach ループですべてのアイテムを個別にアサートします。
しかし、コレクション全体のすべてのアイテムを一度にアサートするより流暢な方法はありますか?
.net - FluentAssertions は、含まれてはならないときに失敗する必要があります
FluentAssertions を使用して書いているテストで奇妙な動作が発生します。私は次のクラスを持っています:
常に同じ値とは限らず、ランダムな値を返すサイコロを実際に作成していることを簡単に確認したいと思います。したがって、TDD に対する私の「手っ取り早い方法」は、100 回ロールして、少なくとも両方の値を 1 回生成すると仮定することでした。しかし、数値を下げて (10 に) すると、予期しないエラーが発生していることに気付きました。2 にドロップすると、次のようになります。
このテストを実行すると、合格することがあります。もちろん、コレクションが {Failure,Failure} の場合は、失敗することもあります。これは予期されることです。ただし、次のようなメッセージで失敗する場合があります。
メッセージ: ExpectedCollection {Success, Failure} には、Success が含まれています。
ここで何が起こっているのですか?私はいくつかの掘り下げを行い、値が等しいのではなく参照が等しいを使用して、Contains に関する多くのことを見つけました。先に進みたいので、これを試しました:
時々パスを取得し、時々取得するためだけに:
メッセージ: コレクション {Success, Failure} には、s.ToString().Equals("Success") に一致する項目が必要です。
どうしたの?
c# - nunit でアトミックにプロパティをテストする方法
System.Drawing.Rectangle など、いくつかのプロパティを持つオブジェクトが与えられた場合、すべてのプロパティの値をアサートし (1 つのプロパティが一致しなくても停止しない)、すべてのプロパティを報告したいと考えました。
私はこのコードを試してみました.
NUnitでこれを行う正しい方法は何ですか?
(私はこれが機能することを理解しています:)