2017-09-01 61 views
0

我有一个maven项目,我只运行自动化测试。在是Maven资源目录放置xml/json文件的好地方,您可以在程序中读取它们吗?

src/test/resources 

我有一个文件夹

其中包含2个XML文件

中(src /测试/资源/书籍/ 1.XML,

src/test/resources/books/2.xml)。

在我的测试中,我检查我有多少个文件夹中

运行我与Maven测试“图书”

int filesNumber = new File(".\\src\\test\\resources\\books").listFiles().length; 

一切正常,我的机器上localy罚款

“清洁测试”

的问题,因为我得到一个

空指针

在查找“书”文件夹开始运行我的TeamCity服务器上测试。 它只是无法找到它。有人能告诉我为什么吗?也许我不应该把这个文件夹放到资源目录中?如果是,那么我应该使用哪个目录..

回答

1

将测试资源放在src/test/resources中,但不要将它们作为文件读取。阅读他们的资源,例如:

// assuming MyTest class in books package 
MyTest.class.getResourceAsStream("books1.xml"); 

或者

MyTest.class.getClassLoader().getResourceAsStream("books/books1.xml"); 
+0

感谢,但我怎么能检查坎很多文件,我有吗? int filesNumber = new File(“。\\ src \\ test \\ resources \\ books”)。listFiles()。length; – EdXX

+0

这很棘手。请参阅:https://stackoverflow.com/questions/186496/can-i-list-the-resources-in-a-given-package – lexicore

+0

你不应该需要一个测试来检查测试资源的数量,你的测试应该是直接使用'测试资源'来帮助测试你的代码。 – MartinByers

相关问题