我有2个android espresso测试来验证我的UI。说,testA()和testB()。 testA()添加项目列表,并验证是否已成功添加项目,然后退出应用程序。 testB()添加项目列表,验证添加的项目,然后编辑项目并验证。如果成功,请退出应用程序。 在这里,如果您查看一下,testB()将重复testA()中的所有步骤,并执行一些其他步骤。我试图看看是否有一种方法可以初始化(也许在setUp()方法期间)测试作为列表中的元素。 因此,在这种情况下,将项目成功添加到testA()后,测试通过了,然后从该点开始启动testB()而不是退出应用程序,重新启动并重复testA(),然后执行特定于testB()的其他步骤。 / p>
我的代码如下:
@get:Rule var activityRule = ActivityTestRule(MainActivity::class.java, true, false) @Before @Throws(Exception::class) open fun setUp() { activityRule.launchActivity(null) }
答案 0 :(得分:0)
首先,尽量不要进行依赖测试。无论您是全部运行还是单独运行,每个测试都应该能够通过。
您要寻找的最有可能创建一个setUp()
方法,该方法在每次测试之前运行,以设置模拟的测试数据。用@Before
对其进行注释,以确保它在每次测试之前都已运行。