nosqlunit注释@UsingDataSet位置

时间:2016-05-06 11:12:38

标签: java unit-testing junit4

我写过这个测试

    @Test
    @UsingDataSet(locations = {"dataset.json"}, loadStrategy= LoadStrategyEnum.CLEAN_INSERT)
    public void readAndupdateTemplate(){

        ..............

    }

我的根项目有以下结构

app
 |
 |_ _ src
       |_ _ main
       |      |_ _ java
       |      |    ......(my packages)
       |      |_ _ resources
       |
       |_ _ test
              |_ _java
              |   .....(my test packages)
              |_ _resources

上面写的类测试位于app/src/test/javadataset.json中的app/src/test/resource

当我尝试运行此测试时,我收到此错误

java.lang.IllegalArgumentException: File specified in locations property are not present in classpath, or no files matching default name are found. Valid default locations are: /xx/xxxxxxxxx/xxxxxxxxxx/service/TemplateServiceTest.json or /xx/xxxxxxxxx/xxxxxxxxxx/service/TemplateServiceTest#readAndupdateTemplate.json

2 个答案:

答案 0 :(得分:0)

只是一直在搜索相同内容,并在main nosql site上找到了一个示例链接。 如果您在com.lordofthejars.nosqlunit.demo.mongodb包中进行测试,则需要在测试资源中创建所有文件夹dir - com / lordofthejars / nosqlunit / demo / mongodb并将dataset.json放在那里。 这是example

答案 1 :(得分:0)

在回答here时,向数据集名称添加前导斜杠。此外,当只有一个数据集时,大括号是可选的:

@Test
@UsingDataSet(locations = "/dataset.json", loadStrategy=LoadStrategyEnum.CLEAN_INSERT)
public void readAndupdateTemplate() {

    ...

}

如果要使用默认命名策略,请将 TemplateServiceTest#readAndupdateTemplate.json 文件放在 resources / xx / xxxxxxxxx / xxxxxxxxxx / service / 目录中。< / p>