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