是Maven资源目录放置xml/json文件的好地方,您可以在程序中读取它们吗?
问题描述:
我有一个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服务器上测试。 它只是无法找到它。有人能告诉我为什么吗?也许我不应该把这个文件夹放到资源目录中?如果是,那么我应该使用哪个目录..
答
将测试资源放在src/test/resources
中,但不要将它们作为文件读取。阅读他们的资源,例如:
// assuming MyTest class in books package
MyTest.class.getResourceAsStream("books1.xml");
或者
MyTest.class.getClassLoader().getResourceAsStream("books/books1.xml");
感谢,但我怎么能检查坎很多文件,我有吗? int filesNumber = new File(“。\\ src \\ test \\ resources \\ books”)。listFiles()。length; – EdXX
这很棘手。请参阅:https://*.com/questions/186496/can-i-list-the-resources-in-a-given-package – lexicore
你不应该需要一个测试来检查测试资源的数量,你的测试应该是直接使用'测试资源'来帮助测试你的代码。 – MartinByers