2017-08-04 103 views
3

我正在使用Espresso/Kotlin爲我們的Android應用程序運行測試,並且我想在給定的測試類中爲所有測試運行一次設置。Android Espresso - 如何爲所有測試只運行一次設置

我創建了一個伴侶對象來啓動應用程序一次(它它),然而它然後關閉,並不會保持每個測試運行時打開。

enter image description here

我怎樣才能把它啓動應用程序,運行所有測試在測試類,然後關閉應用程序?

我也試過以下,但仍推出一次,然後關閉,然後嘗試運行測試: enter image description here

+0

存在的junit4規則與靜態設置沒有問題。也許活動被'ActvityTestRule'破壞。 –

回答

0

這是由設計。

此規則提供單個活動的功能測試。被測試的活動將在每個使用@Test註釋的測試之前以及使用@Before註釋的任何方法之前啓動。測試完成後將終止,所有用@After註解的方法結束。可以在測試期間通過調用ActivityTestRule.getActivity()來訪問被測活動。

來源:JUnit4 Rules

您可能能夠通過進行自定義規則來解決它。否則,您可以創建一個@Test並將其中的每個斷言放入其中。爲了保持你的一般格式,你可以把你的斷言放在不同的私有函數中。

例如:

@Test 
fun testLoginPage() { 
    testLoginButtonIsDisplayed() 
    // call other private functions 
} 

private fun testLoginButtonIsDisplayed() { 
    loginPage.loginButton.check(matches(isDisplayed())) 
} 

// add other private functions 
相關問題