3
我寫了一個很長的參數化測試,一方爲參數的構造函數調用帶有雙括號語法來構建不同的對象爲二維數組的每一行:在參數亞軍JUnit測試用例的構造函數調用
Object[][] data = new Object[][] {
{ 1, 2, 3, new Blah() {{ setA(); }} }
{ 1, 2, 3, new Blah() {{ setB(); }} }
...
因爲JUnit的哲學是在每個@Test上調用測試用例構造函數,所以我假設它會對參數化測試執行相同的操作 - 但我看到它只調用該構造函數(爲參數化測試定義的構造函數)每行一次,而不是每行每次測試一次。
因此,測試領域的行爲是全球性的,測試正在相互影響。我想知道是否有辦法強制跑步者爲每個測試調用構造函數,就像常規的JUnit跑步者一樣。谷歌和JUnit網頁在這種情況下沒有幫助我。我真的不想重寫整個測試,這個測試是廣泛而且相當可讀的。
你是說4.10中的行爲已經改變,還是仍然存在緩存行? – orbfish
嗯,這並沒有真正回答這個問題,但是感謝你的時間,它幫助我想出了一個解決方法。 – orbfish