0
我想將命令行參數傳遞給具有Junit測試註釋的Java類,這可能嗎?是否有可能在同一個類中使用@Before和@Test方法的主要方法? Java
例子:
@Before
public void before(String a, String b) {
// some processing
}
@Test
public void test() {
}
public static void main(String[] args) {
if (args[0] != null)
DEFAULT_CONTENT_DIR = args[0];
if (args[1] != null)
DEFAULT_FONTS_DIR = args[1];
if (args[2] != null)
formMLDir = args[2];
before(DEFAULT_CONTENT_DIR, DEFAULT_FONTS_DIR);
}
是這樣的可能嗎?
一般的單元測試方法不是從'main'方法調用,但是也許如果你能解釋一下你正在努力實現有可能是什麼一個更好的方法來做到這一點。 – sprinter
我想運行兩個有共生關係的課程。第1類產生第2類消耗並驗證它的輸出文件。所以我需要有一個before方法來完成我的設置和一個驗證輸出的單元測試方法。我在生產Linux環境中將它們部署爲罐子,因此測試數據將根據盒子而有所不同。所以我需要能夠將命令行參數傳遞給before方法(它運行class1),以便它知道從何處獲取生產測試數據。我希望我提供了足夠的上下文 –
說實話,我不認爲這是一個很好的JUnit用例。它專爲單元測試而設計,其中與外部類的關係不是非常簡單就是模擬。我建議你看看集成測試框架。 – sprinter