gpt4 book ai didi

android - 如何将 Android SingleLaunchActivityTestCase 转换为 ActivityTestRule? (仪器单元测试)

转载 作者:搜寻专家 更新时间:2023-11-01 09:23:44 25 4
gpt4 key购买 nike

SingleLaunchActivityTestCase 的文档表示此类现已弃用,应替换为 ActivityScenarioRuleActivityTestRule .但是这是如何做到的呢?

SingleLaunchActivityTestCase 允许 Activity 启动一次并保持打开状态;那么这段时间可以运行多个测试,然后关闭Activity。 ActivityTestRule 似乎没有此功能 - 它总是为每个 @Test 方法重新启动 Activity。

那么是否可以让 ActivityTestRule 启动一个 Activity 并保持打开状态,以及如何确保 context(来自 activityTestRule.getActivity() ) 不是每个 @Test 函数的 null?

示例代码 here .

最佳答案

使用 constructor that does not start the activity by default (将 launchActivity 参数设置为 false)。然后使用 launchActivity()在您的设置中,但不是在每种测试方法中。这样您将自己启动一次,但每个测试都将在同一个实例上运行。

您可能还希望在测试类结束时显式完成 Activity ,以进行清理。

注意:虽然这通常不是测试的最佳实践,因为测试可能相互依赖(这不是一个好主意),或者根据它们运行的​​顺序提供不正确的结果,等等。在这种情况下,状态从一个测试持续到下一个测试。

关于android - 如何将 Android SingleLaunchActivityTestCase 转换为 ActivityTestRule? (仪器单元测试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52444272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com