2016-05-06 38 views
1

我写这个测试nosqlunit注释@UsingDataSet位置

@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/java和我dataset.jsonapp/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 

回答

0

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

0

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

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

    ... 

} 

如果你想使用默认的命名策略,把TemplateServiceTest#readAndupdateTemplate.json文件中资源/ XX/XXXXXXXXX/xxxxxxxxxx/service/目录。