問題タブ [jsonassert]
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.
javascript - 配列プロパティの要素の順序を無視して2つのjsonを比較するには?
json オブジェクトを表す 2 つの文字列を比較する必要があります。テスト目的で、子要素の順序 (非常に一般的) だけでなく、json の配列プロパティ内の要素の順序も無視して、これらの文字列を比較する方法が必要です。すなわち:
次と等しい必要があります。
理想的には、JavaScript ライブラリが必要ですが、他のアプローチも歓迎します。
json - jsonから目的のフィールドを削除(および更新)するにはどうすればよいですか?
json値を比較するためのテストコードを書いています。現在、JSONAssertを使用してjson値をapi応答と比較し、正常に動作しています。
しかし、より多くの機能をサポートするために、応答jsonが変更される可能性があると思います。次に、予期しない余分なフィールドがあるため、JSONAssertが失敗を報告する可能性があります。
そこで、JSONAssertを使用する前に、追加された要素をいくつか削除するロジックを作成したいと思います。
jsonから目的のフィールドを削除する簡単な方法はありますか?
例)現在:{"field1": "AAAA"、 "field2": "BBBB"}次:{"field1": "AAAA"、 "field3": "CCC"、 "field2": "BBBB"}
使用する前にjsonから「field3」を削除したい。
java - JUnit テスト - テストを行うための最良かつ最も信頼できる方法は?
を使用して Android アプリをテストしていJUnit
ます。実際にテストを行うのは初めてJUnit
なので、進むべき道がわかりません。現在、連絡先リストへのクエリをテストしています。多くのメソッドはパラメータとして aRaw Contact ID
または aのみを必要とし、Contact ID
それらのほとんどは a または を返します。JSON Object
JSON Array
ArrayList
私の質問は、期待される結果と実際の結果をどのように比較すればよいですか?
現在、私は次のようにそれらをテストしています:
基本的に、私は実際のメソッドを呼び出して、(テスト中の) メソッドをほとんど再コーディングしています。これは非生産的であるか、少なくとも非常に退屈で退屈だと思います (先ほどコーディングしたものをもう一度コーディングします)。JUnit
テストを実行するためのより良い方法があると確信しています。連絡先リストのデータベースにクエリを実行し、比較するオブジェクトを手動で作成することを考えました。次のようにします。
コーディングする方が高速ですが、電話からデータベースを手動でダウンロードする必要があり (私にとっては大したことではありません)、そこにデータを取得するために手動でクエリを実行する必要があります (大したことではありません) が、そうではありません非常に一般的であるため、データベースが変更された場合、すべてのテストが失敗すると思います。しかし、データベースのスナップショットを取得して保存し、そのスナップショットに対して常にテストを実行できます。
助言がありますか?改善?
java - Java org.json 比較オブジェクト
XML を JSON に変換するために使用しており、解析プロセスorg.json
を単体テスト (を使用) したいと考えています。
ただし、それを使用してオブジェクトを比較しようとすると失敗します。メソッドが適切に実装されていることを理解しています。オブジェクトの等価性を単体テストする方法はありますか?JUnit
json.equals
jackson
equals
org.json
java - 正規表現で JSONAssert を使用した JSON 検証
REST インターフェイスを使用するオープンソース プロジェクトに取り組んでいます。JUnit で残りのインターフェイスを検証する (実際の応答を期待値と一致させる) には、JSONAssert を使用します。( https://github.com/skyscreamer/JSONassert )。しかし、私は使用法に問題があります.親切にそれを解決するのを手伝ってください.
備考: objectId/protocol/hostName/port/commParams は何でもかまいませんが、空にすることはできません
Problem1: 上記の問題を解決するには、JSON Assert のどのインターフェイスを使用する必要がありますか?
問題 2: ここで PREFIX は何にすべきか (" ", ". , " . " で試しましたが、成功しませんでした)
上記の問題に対するその他の推奨事項 (JSONAssert 以外) も歓迎します。
java - 2 つの JSON を比較する際に特定のノード/属性を無視する
巨大な階層である 2 つの JSON 文字列を比較し、値のどこが異なるかを知りたいです。ただし、一部の値は実行時に生成され、動的です。比較からそれらの特定のノードを無視したいと思います。
現在、org.SkyScreamer のJSONAssertを使用して比較を行っています。素晴らしいコンソール出力が得られますが、属性は無視されません。
例のために。
これは動的になり、無視する必要があります。何かのようなもの
誰かが JSONAssert で解決策を提案してくれれば幸いです。ただし、他の方法も歓迎します。
json - JSONAssert と一緒に REST-Assured の ifValidationFails を使用する
REST サービスのテストにはREST-Assuredを使用することにしました。結果は (ほとんど) JSON および XML ドキュメントです。JSON を確認するには、JSONassertが非常に役立ちます。
体の一部を比較するのではなく、応答の完全な体を比較します。したがって、REST-Assured のドキュメントの例は、応答本文の一部を抽出するため、あまり役に立ちません。
現在、私は体を抽出し、その後体を比較しています:
問題は、常に成功ifValidationFails()
するため、意味をなさないことです。asString()
ここで、REST-AssuredのメソッドにJSONAssert.assertEquals
と Hamcrestを含めて、失敗した検証のログを有効にする方法を考えています。assertThat
given()
完全なソースは、Eclipse Winery のリポジトリで入手できます。
java - JSONAssert を使用して項目が JSON 配列に存在するかどうかを確認する
次のような JSONObject があります。
JSONAssert を使用して項目 {"name":"678"} が存在するかどうかを確認したいが、項目の順序と「外部」配列内の項目数がわからない場合、Java でどのようにすればよいですか?
ArrayValueMatcher が進むべき道のようですが、うまくいきません。
助けてください
java - JSONAssert - 指定した範囲内で比較する
2 つの異なるサーバーからの JSON 応答を比較しています。それらは基本的に一致するはずですが、キャッシングのために、温度、風速などのフィールドにいくつかの小さな違いがあります.
現在、次のように常に失敗する特定のフィールドを無視するためのカスタマイズを使用しています。
質問:
- 範囲を指定するにはどうすればよいですか (温度は 10 以内でかまいません)。
- 値が特定のタイプ (文字列、整数) にのみ一致するように指定する方法は?
JSON サンプル:
JSON1
JSON2
groovy/java をサポートする Katalon というテスト ツールを使用しています。どんな助けでも大歓迎です。ありがとう!