【问题标题】:I need help running a unit test for jsonschema2pojo我需要帮助运行 jsonschema2pojo 的单元测试
【发布时间】:2017-05-28 23:46:49
【问题描述】:

我有一个关于 jsonschema2pojo 单元测试的问题。

我要做的是使用https://github.com/joelittlejohn/jsonschema2pojo/blob/master/jsonschema2pojo-integration-tests/src/test/java/org/jsonschema2pojo/integration/json/RealJsonExamplesIT.java 中的示例单元测试 设置我自己的测试,但是我发现没有可用的测试库。我试图在我的项目中设置源,但我没有使用 Maven,而是使用 Gradle。由于缺乏Maven,我的项目中的类或.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"));

}
}

【问题讨论】:

    标签: java junit jsonschema2pojo


    【解决方案1】:

    你需要在gradle中添加依赖:

    compile group: 'org.jsonschema2pojo', name: 'jsonschema2pojo-gradle-plugin', version: '0.4.29'
    

    还有其他的。如果 Maven 中存在,Gradle 中也可以存在。签入 MavenRepository 并选择所需的依赖项,并且将存在于所有 Java Build Toll 中,只需选择 Gradle 选项卡,您就会看到所需的依赖项。 org.jsonschema2pojo

    【讨论】:

      猜你喜欢
      • 2010-12-05
      • 2011-08-12
      • 2019-09-17
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      相关资源
      最近更新 更多