gpt4 book ai didi

Android 测试 - 状态跨应用程序实例持久化引起的问题

转载 作者:行者123 更新时间:2023-11-28 20:11:23 24 4
gpt4 key购买 nike

在运行 android 连接设备测试时,跨应用程序实例持续存在的状态(例如应用程序存储的权限和文件)会导致测试相互干扰。

例如,如果我想在拒绝运行时权限时为应用程序行为编写一个测试,而在允许运行时权限时为应用程序行为编写另一个测试,那么我必须非常小心以确保测试以正确的顺序运行。如果允许测试在拒绝测试之前运行,则拒绝测试将失败,因为权限设置已经被授予。

另一个例子,在一个购物应用程序中,应用程序可以将购物篮的内容存储在应用程序的内部文件存储中,以允许购物篮在应用程序终止和重新启动时继续存在。测试购物篮的行为变得非常困难,因为测试会相互干扰。

这个问题的解决方案是什么?

最佳答案

  1. 一定要在每个测试用例之后清理状态。依赖于运行顺序的测试被认为是一种不好的做法。在大多数情况下,您可以实现 teardown() 方法(如果您使用的是 JUnit4,则用 @AfterTest 注释)来进行清理。

  2. 在测试期间创建可注入(inject)到您的应用中的模拟状态对象。我对这种特殊方法还很陌生,所以我在这里没有太多建议。一些谷歌搜索应该可以帮助您入门。

关于Android 测试 - 状态跨应用程序实例持久化引起的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35189425/

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