問題タブ [assertthat]
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.
karate - 空手とキュウリの間で互換性のないキュウリ json レポート
空手テストの json 結果をAssertThat Jiraプラグインにインポートしようとしています。
インポートは cucumber js 5.1.0 ではうまく機能しますが、karate 0.9.2 では失敗します
問題は、json でフィーチャーの「名前」を使用してその内部フィーチャー名に関連付ける AssertThat にあるようです。
Cucumber js は、フィーチャー ファイル自体からフィーチャーの名前を使用します。たとえば、「フィーチャー: テスト レポート」を含むフィーチャー ファイルは、次の json を生成します。
空手は「名前」に機能ファイル名を使用し、実際の機能を「説明」に入れます。
string - Hamcrest AssetThat equalTo は、オブジェクト値配列内の Unicode 文字 "'\u200E' 8206" が原因で失敗します
テストでアサートするために Hamcrest を使用しています。以下のスニペットは他の文字列比較で機能しますが、以下の添付画像に示すように、オブジェクト値配列の 0 番目の場所にランダムな文字 (?) があるため、以下のステートメントは失敗します。
結果は次のとおりです。
それが役立つ場合、 Book は Product エンティティから拡張された JPA エンティティであり、 Product には注釈 @Inheritance( strategy = InheritanceType.JOINED ) があります。
製品クラス
ブッククラス
data.sql のテスト データには次のものがあります。
そして、次のように返されたjsonのマーシュリングを解除してい @GetMapping(path = "/products/{id}")
ます:
不思議なことに、'\u200E' 8206
ID=1 でのみこの Unicode 文字を取得します
コードベース全体へのリンクは次のとおりです: https://bitbucket.org/tyro_02/demo.cart/
java - Java: Selenium WebElements と AssertThat が間違った結果を出す
Ok。これは実際には奇妙であるか、私が見逃している基本的なものがあります。WebElements のリストが存在しないことをアサートしようとするコードが少しあります。リストサイズにassertと<1を使用すると、機能します。しかし、私の好みのアサーション メソッドは assertThat .isLessThan です。これはまったく同じ状況では機能しません。
コード:
上記の assertThat を使用すると、予期しないアサーション エラーが発生します。
どうすればいいの?
assertThat() は、システムが Angular6 から最新バージョンにアップグレードされる前に、このコードで数年間使用されていたことに言及する価値があるかもしれません。しかし、これは Java の assertThat() がゼロの size() は 1 であると主張していることとは何の関係もないはずです? 変数をチェックすると、assert < 1 によって証明されるように、size() が実際にゼロであることが自然に明らかになります。
kotlin - assertThatを任意の条件で使用するには?
次のアサーションをどのように記述できますか。
Google トゥルースとassertThat
?