3
我正在使用Espresso/Kotlin爲我們的Android應用程序運行測試,並且我想在給定的測試類中爲所有測試運行一次設置。Android Espresso - 如何爲所有測試只運行一次設置
我創建了一個伴侶對象來啓動應用程序一次(它它),然而它然後關閉,並不會保持每個測試運行時打開。
我怎樣才能把它啓動應用程序,運行所有測試在測試類,然後關閉應用程序?
我正在使用Espresso/Kotlin爲我們的Android應用程序運行測試,並且我想在給定的測試類中爲所有測試運行一次設置。Android Espresso - 如何爲所有測試只運行一次設置
我創建了一個伴侶對象來啓動應用程序一次(它它),然而它然後關閉,並不會保持每個測試運行時打開。
我怎樣才能把它啓動應用程序,運行所有測試在測試類,然後關閉應用程序?
這是由設計。
此規則提供單個活動的功能測試。被測試的活動將在每個使用@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
存在的junit4規則與靜態設置沒有問題。也許活動被'ActvityTestRule'破壞。 –