jsonschema2pojoのユニットテストに関する質問があります。jsonschema2pojoのユニットテストを実行するのに助けが必要です
私がしようとしているのは、https://github.com/joelittlejohn/jsonschema2pojo/blob/master/jsonschema2pojo-integration-tests/src/test/java/org/jsonschema2pojo/integration/json/RealJsonExamplesIT.java のサンプルユニットテストを使用して自分のテストをセットアップすることですが、利用できるテストライブラリはありません。プロジェクトでソースを設定しようとしましたが、Mavenは使用していませんが、Gradleを使用しています。 Mavenがないため、classまたは.jsonschema2pojo.integration.util.JsonSchema2PojoRuleクラスは、プロジェクトでMavenなしでコンパイルしたくありません。私たちのチームでは、ビルドサーバーでmavenを使用しません。
私は誰かが私の実装方法をどのようにユニットテストするかの指針を助けてくれることを願っています。
これは私が実行しようとしていますユニットテストです:
public class AnalyticsGeneratorImplTest extends AbstractGoogleAnalyticsTest {
// Set a logger
private static Logger log = LoggerFactory.getLogger(AnalyticsGeneratorImplTest.class);
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
@Rule
public JsonSchema2PojoRule schemaRule = new JsonSchema2PojoRule();
@Test
public void getTitleFromGeneratedJson() throws Exception {
//verify that the incoming Json has been transformed
ClassLoader resultsClassLoader = schemaRule.generateAndCompile("/assets/generated-list/google-analytics.json", "uk.ac.soton.generators.analytics.target",
config("sourceType", "json",
"useLongIntegers", true));
Class<?> googleAnalyticsJsonObject = resultsClassLoader.loadClass("uk.ac.soton.generators.analytics.serialised.GoogleAnalyticsJsonObject");
Object gaJsonObj = OBJECT_MAPPER.readValue(this.getClass().getResourceAsStream("/assets/generated-list/google-analytics.json"), googleAnalyticsJsonObject);
Object result = googleAnalyticsJsonObject.getMethod("getResult").invoke(gaJsonObj);
Object data = result.getClass().getMethod("getData").invoke(result);
Object title = data.getClass().getMethod("getTitle").invoke(data);
assertThat(title.getClass().getMethod("getTitle").invoke(title).toString(), is("blue"));
}
}