以编程方式为片段设置上下文以进行测试

时间:2018-09-12 08:41:46

标签: android android-fragments

我有一个片段,希望为其编写测试

此片段取决于它所连接的主机的上下文(主要是在需要时实例化数据库)

我的问题是,当我创建用于测试的片段时,我没有将其附加到任何东西上,因此它没有上下文

我尝试调用onAttachInstrumentationRegistry.getTargetContext(),但是正如我在检查onAttach代码后所看到的那样,它对提供的上下文没有任何作用,它仍然可以从主机获取

我的问题是如何将其附加到虚拟主机,或者在不将片段附加到主机的情况下在片段中获取应用程序上下文?

1 个答案:

答案 0 :(得分:1)

在没有任何父Fragment类(类似于ContextFragmentActivity)的情况下,您根本无法测试AppCompatActivity。这意味着,您将必须至少在调试Activity中添加这样的Manifest.xml(以防万一,否则不需要这样做)...或只是测试Activity,这将通常包含该Fragment