問題タブ [assertj]
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.
intellij-idea - IntelliJ IDEA でテストを実行すると java.lang.NoSuchMethodError が発生する
単体テストを実行しようとすると、AssertJ で NoSuchMethodError が発生します。make ステップは正常に機能し、assertThat() の実装に移動すると、正常に機能します。
モジュールの依存関係は、build.gradle でコンパイルの依存関係として定義したように、org.assertj:assertj-code:1.2.0 を使用していることを示しています (はい、コンパイルしてテストしません)。単体テストは統合テストであるため、モジュールのメイン クラスパス内に存在するため、これは意図的なものです。iml ファイルには以下が含まれます。
<orderEntry type="library" name="Gradle: org.assertj:assertj-core:1.2.0" level="project" />
私のテスト例は次のとおりです。
実行すると、次のようになります。
java.lang.NoSuchMethodError: org.assertj.core.api.Assertions.assertThat(I)Lorg/assertj/core/api/IntegerAssert;
実行構成を見ると、クラスパスが正しいモジュール (AssertJ を含むモジュール) に設定されています。
キャッシュを無効化しようとしましたが、役に立ちませんでした。
私は現在アイデアがありません(しゃれは意図されていません)。これを前に見たことがある人はいますか?または、トラブルシューティングの進め方の手がかりをお持ちですか?
selenium - テスト レポートのアサートとテストの続行
Fluentlenium でテストして、範囲レポートに報告しようとしています。
問題は、テスト全体でアサートがあり、try と catch を使用せずにそれらを報告したいことです。
それを行う方法はありますか?アサートリスナーなどはありますか?
assertj - AssertJでアサーションを否定するにはどうすればよいですか?
Hamcrest を使用すると、マッチャーを簡単に無効にすることができます。たとえば、次のようなアサーションを記述できます。
org.hamcrest.core.IsNot
つまり、マッチャーを使用すると、org.hamcrest.core.AnyOf
アサーションを簡単に組み合わせたり否定したりできます。
AssertJに同等のものはありますか? sを結合/否定できることを知っていCondition
ます。しかし、通常のアサーション メソッドはどうでしょうか。たとえば、文字列が数字だけで構成されていないことをテストしたい場合、つまり次のアサーションを否定したい場合はどうしますか?
java - AssertJ は、Consumer を引数として持つイテラブルのアサーション メソッドを提供しますか?
AssertJ は、hasValueSatisfying(Consumer<T> requirement)
JavaOptional
オブジェクトのメソッドを提供します。このメソッドを使用すると、次のようにオプションの値でアサーションを作成できます。
コレクションに同等の方法はありますか? 原因の私はallMatch(Predicate<? super T> predicate)
このような方法を誤用することができます
return true;
しかし、述語には戻り値が必要なので、誤解を招く行を追加する必要があります。ここにもhaveValuesSatisfying(Consumer<T> requirement)
方法があるといいのですが。私はそのような方法を監督しましたか、それとも (まだ) 存在しませんか?
java - 2 つの Unicode 文字列を比較するときの AssertJ の間違った失敗
私は TestNG アサーションから Assertj に切り替えました。得られる非常に大きな柔軟性が本当に気に入っています。ただし、いくつかの Selenium テストを実行すると、多くのエラーが発生します。私はいくつかのページタイトルといくつかのアンカーテキストを次のようにチェックしています:
これは、特殊文字に対して常に失敗しています。さらに奇妙なことに、Eclipse で jUnit テストとしてテストを実行しても失敗しませんが、Windows でコマンド ラインから gradle を使用してテストを実行すると常に失敗します。何か不足していますか?
java - 複数のテスト用の基本クラスのソフト アサーション
私はテストが初めてで、assertj
フレームワークを使用する必要がありsoftassertions
ます。これらは、複数のテストで繰り返される標準的なアサーションです。new を定義するすべてのテストに対してSoftAssertion
、アサートを実行してから実行します.assertAll()
これは定型コードのように思えます。assertall()
私のテストがクラスを拡張できるように、アサート関数とメソッドを基本クラスで抽象化することは可能ですか?
generics - 型付きリストの AssertJ 条件に関するジェネリックの問題
Java 8 で AssertJ 3.5.2 の Condition クラスの使用法を調査しているときに、この問題に遭遇しました。一般的に型指定されたリストの Condition インスタンスを作成できますが、使用しようとすると Eclipse でエラー メッセージが表示されます。
私が得るエラーメッセージは次のとおりです。
リストの全体的なチェックを行うためのAssertJのこのアプローチまたは別のアプローチの解決策はありますか(アイテムごとではなく、シーケンスまたは集計に基づくチェック)?
java - 原因メッセージに対する AssertJ アサート
AssertJ を使用して、例外をスローするメソッドを再度使用して、原因のメッセージが何らかの文字列と等しいことを確認する方法はありますか。
私は現在次のようなことをしています:
根本原因のメッセージをチェックするアサーションを追加したいと考えています。