我對JUnit 4相對較新;我發現我可以用一個方法重複相同的測試,使用不同的輸入,使用@Parameters
註釋來標記返回數組可重用的方法,比如List<Integer[]>
。通過@Parameters測試Junit多個輸入/多個方法
我發現JUnit確實要求數組的Iterable的方法提供者是靜態的,並且被命名爲data
,這意味着您可以測試不同的方法,但始終使用相同的數據。
事實上,您可以使用@Parameters
來標記任何方法(使用任何返回類型,BTW),但不起作用;考慮到只有data()
方法。
我希望允許做在和@Parameters
註釋的一些不同的數據集和一些機構的JUnit(比如一個參數@Test)可能指定要使用的數據集X
在執行testFoo()
和數據testBar()
設置Y
。
換句話說,我想在每個測試方法中設置一個本地(而不是類/實例)數據集。
正如我所理解的那樣,你必須爲每個你想用多個輸入測試的方法建立一個單獨的類,這使得這個東西變得毫無用處; AAMOF我自己構建了一個適度的框架(實際上基於JUnit),它確實允許我使用多個輸入(具有跟蹤功能)測試多種方法,所有方法都包含在一個類中,避免代碼擴散。
我錯過了什麼?!?