問題タブ [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.

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

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 を含むモジュール) に設定されています。

キャッシュを無効化しようとしましたが、役に立ちませんでした。

私は現在アイデアがありません(しゃれは意図されていません)。これを前に見たことがある人はいますか?または、トラブルシューティングの進め方の手がかりをお持ちですか?

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

selenium - テスト レポートのアサートとテストの続行

Fluentlenium でテストして、範囲レポートに報告しようとしています。

問題は、テスト全体でアサートがあり、try と catch を使用せずにそれらを報告したいことです。

それを行う方法はありますか?アサートリスナーなどはありますか?

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

assertj - AssertJでアサーションを否定するにはどうすればよいですか?

Hamcrest を使用すると、マッチャーを簡単に無効にすることができます。たとえば、次のようなアサーションを記述できます。

org.hamcrest.core.IsNotつまり、マッチャーを使用すると、org.hamcrest.core.AnyOfアサーションを簡単に組み合わせたり否定したりできます。

AssertJに同等のものはありますか? sを結合/否定できることを知っていConditionます。しかし、通常のアサーション メソッドはどうでしょうか。たとえば、文字列が数字だけで構成されていないことをテストしたい場合、つまり次のアサーションを否定したい場合はどうしますか?

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

java - AssertJ は、Consumer を引数として持つイテラブルのアサーション メソッドを提供しますか?

AssertJ は、hasValueSatisfying(Consumer<T> requirement)JavaOptionalオブジェクトのメソッドを提供します。このメソッドを使用すると、次のようにオプションの値でアサーションを作成できます。

コレクションに同等の方法はありますか? 原因の私はallMatch(Predicate<? super T> predicate)このような方法を誤用することができます

return true;しかし、述語には戻り値が必要なので、誤解を招く行を追加する必要があります。ここにもhaveValuesSatisfying(Consumer<T> requirement)方法があるといいのですが。私はそのような方法を監督しましたか、それとも (まだ) 存在しませんか?

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

java - 2 つの Unicode 文字列を比較するときの AssertJ の間違った失敗

私は TestNG アサーションから Assertj に切り替えました。得られる非常に大きな柔軟性が本当に気に入っています。ただし、いくつかの Selenium テストを実行すると、多くのエラーが発生します。私はいくつかのページタイトルといくつかのアンカーテキストを次のようにチェックしています:

これは、特殊文字に対して常に失敗しています。さらに奇妙なことに、Eclipse で jUnit テストとしてテストを実行しても失敗しませんが、Windows でコマンド ラインから gradle を使用してテストを実行すると常に失敗します。何か不足していますか?

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

java - 複数のテスト用の基本クラスのソフト アサーション

私はテストが初めてで、assertjフレームワークを使用する必要がありsoftassertionsます。これらは、複数のテストで繰り返される標準的なアサーションです。new を定義するすべてのテストに対してSoftAssertion、アサートを実行してから実行します.assertAll()

これは定型コードのように思えます。assertall()私のテストがクラスを拡張できるように、アサート関数とメソッドを基本クラスで抽象化することは可能ですか?

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

generics - 型付きリストの AssertJ 条件に関するジェネリックの問題

Java 8 で AssertJ 3.5.2 の Condition クラスの使用法を調査しているときに、この問題に遭遇しました。一般的に型指定されたリストの Condition インスタンスを作成できますが、使用しようとすると Eclipse でエラー メッセージが表示されます。

私が得るエラーメッセージは次のとおりです。

リストの全体的なチェックを行うためのAssertJのこのアプローチまたは別のアプローチの解決策はありますか(アイテムごとではなく、シーケンスまたは集計に基づくチェック)?

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

java - 原因メッセージに対する AssertJ アサート

AssertJ を使用して、例外をスローするメソッドを再度使用して、原因のメッセージが何らかの文字列と等しいことを確認する方法はありますか。

私は現在次のようなことをしています:

根本原因のメッセージをチェックするアサーションを追加したいと考えています。