3
我已經爲我的應用程序提供了Robolectric測試套件。按順序運行robolectric測試?
據我所知,按默認Robolectric按字母順序運行測試。
我有測試
testA()
testB()
此測試需要以相反的順序,例如運行testB()將測試的活動狀態更改爲testA()所需的任何狀態。
如何指定必須運行測試的順序?
手動重命名測試並不好。
我已經爲我的應用程序提供了Robolectric測試套件。按順序運行robolectric測試?
據我所知,按默認Robolectric按字母順序運行測試。
我有測試
testA()
testB()
此測試需要以相反的順序,例如運行testB()將測試的活動狀態更改爲testA()所需的任何狀態。
如何指定必須運行測試的順序?
手動重命名測試並不好。
不建議使用固定測試訂單,但您可以嘗試在您的測試課程中使用@FixMethodOrder(MethodSorters.NAME_ASCENDING)
。
也看到這裏的討論How to run test methods in specific order in JUnit4?
相互依賴的測試是極其脆弱的。你應該考慮重構你的測試以完全避免這種情況。 – stkent 2015-02-07 13:39:04
嗯。感謝你的回答。我應該爲每個測試單獨準備我的對象/活動狀態? – 2015-02-07 13:39:39
是的,絕對。這樣,添加新測試(或刪除過時的測試)將導致級聯失敗的可能性要小得多。 JUnit允許您指定每個測試類(使用「@Before」和「@After」進行註釋)的安裝和拆卸方法,這些方法在每個單獨測試之前/之後運行(使用「@Test」註釋)。例如,常見模式是使用「@Before」註釋方法重新初始化待測試類的實例。 – stkent 2015-02-07 13:44:12