我对jsonschema2pojo的单元测试有疑问。
我要做的是使用https://github.com/joelittlejohn/jsonschema2pojo/blob/master/jsonschema2pojo-integration-tests/src/test/java/org/jsonschema2pojo/integration/json/RealJsonExamplesIT.java中的样本单元测试 设置我自己的测试,但我发现没有可用的测试库。我试图在我的项目中设置源代码,但我没有使用Maven,而是使用Gradle。由于缺少Maven,类or.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"));
}
}
答案 0 :(得分:0)
您需要在gradle中添加依赖项:
compile group: 'org.jsonschema2pojo', name: 'jsonschema2pojo-gradle-plugin', version: '0.4.29'
其他人一个。如果在Maven中存在,它也可以存在于Gradle中。检查MavenRepository并选择您想要的dependecie并且将存在所有Java Build Toll只需选择Gradle选项卡,您就会看到所需的dependecie。 org.jsonschema2pojo