0
にアサートI持っている。このような異なるエンドポイントに返され作られたJsonObjectに主張するいくつかのテスト、:リユースJUnitは異なるクラス
JsonElement product = asJsonObject.get("product");
JsonElement type = product.getAsJsonObject().get("type");
Assert.assertEquals(ProductType.PRODUCT_1.name(), type.getAsString());
JsonElement name = product.getAsJsonObject().get("name");
Assert.assertEquals("name", name.getAsString());
これは、Javaコードの多くは、右?同じJsonを返す複数のエンドポイントがあり、期待される結果を保証するために同じアサートを行う必要があります。
しかし、私は上記のコードを再利用する方法を見つけようとしています。これはこの種の問題のために良い方法です...
class AssertProduct {
private JsonElement product;
AssertProduct(JsonElement product) {
this.product = product;
{
boolean assert(String name, String type) {
JsonElement type = product.getAsJsonObject().get("type");
Assert.assertEquals(type, type.getAsString());
JsonElement name = product.getAsJsonObject().get("name");
Assert.assertEquals(name, name.getAsString());
}
}
しかし:
new AssertProduct(asJsonObject.get("product")).assert(type, name);
そして:もちろん、私はこのような何かを行うことができますか?
私はあなたのように、それらを分離します'' AssertProduct(asJsonObject.get( "product"))。ofType(x).ofName(y) ' – vikingsteve
IMHOこれは良いアプローチです。 –
@vikingsteve nice。この提案に答えてもらえますか?私は解決されたようにあなたに質問をマークします。 – Dherik