2016-05-06 37 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/目錄。