首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Android中为仪器化测试创建孤立的上下文

如何在Android中为仪器化测试创建孤立的上下文
EN

Stack Overflow用户
提问于 2019-03-14 17:15:16
回答 1查看 122关注 0票数 0

我想使用AccountManager运行一些测试、添加和获取帐户,但是我想在一个新的上下文中执行这些操作,而不使用模拟器中的帐户。

有可能这样做吗?

我的类示例

代码语言:javascript
运行
复制
@RunWith(AndroidJUnit4::class)
class AccountTest {

    private val ACCOUNT_TYPE = "com.android.account"

    private lateinit var accountManager: AccountManager

    @Before
    fun init() {
        accountManager = AccountManager.get(ApplicationProvider.getApplicationContext())
    }

    @Test
    fun addAccountTest(){
        val account = Account("test", ACCOUNT_TYPE)
        val result = accountManager.addAccountExplicitly(account, null, null)

        assertThat(result, `is`(true))
    }

    @Test
    fun getAccountTest() {
        val accountList = accountManager.getAccountsByType(ACCOUNT_TYPE).toList()

        assertThat(accountList.size, `is`(0))
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-01 11:05:04

我用Robolectric解决了这个问题:)

与传统的基于仿真器的Android测试不同,Robolectric测试运行在沙箱内,允许为每个测试精确地配置Android环境,将每个测试与其邻居隔离开来,并使用测试API扩展Android框架,这些API为Android框架的行为提供了微小的控制,并为断言提供了状态的可见性。

robolectric.org

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55168495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档