4
我使用的是抽象类在另一个模块中进行读取和输入我的TESTDATA有:在其他模块中加载测试资源?
package src/main/java/path/to/my/base/testclass;
InputStream stream = getClass().getResourceAsStream(filename);
filename
是如"test.txt"
,位于src/main/resources/path/to/my/base/testclass
只要我把这个抽象类成与我的测试类相同的模块,一切正常。 然后我提取acstract类(以及资源)到其它模块,编译,添加到POM等 结果:我的测试实施运行正常,但:我得到IO异常为file could not be found.
什么我在这里想念吗?为什么抽象类在同一个模块内工作,但不在另一个内?
嗯我以为这是我的?我将BaseClass放在src/main中,而不是放在src/test中。然后我在新的测试模块的pom中引用它。 – membersound
@membersound嗯。你在做什么是丑陋的,但通常应该工作。等等:我希望你将文件引用为'BaseClass.class.getResourceAsStream(filename)'! –
我管理得到它:'InputStream stream = this.getClass()。getClassLoader()。getResourceAsStream(“path/to/base/class /”+ filename);'为什么这是丑陋的?我需要一个提供测试资源的基类。然后我必须使用这个基类来导入测试文件,并针对包含在不同工件模块中的不同ITests执行这些文件。拥有一个基本的抽象文件导入器基类是唯一能够工作的东西,如果我希望在中心位置拥有全局资源,而不是复制到每个模块中。或者你可以更好地建议? tnx – membersound