相关疑难解决方法(0)

如何模拟getApplicationContext

我有一个存储应用程序上下文信息的应用程序 应用程序上下文信息在MyApp类中的活动之间共享,该类扩展了Application类.

我正在为我的活动编写单元测试,我想检查当用户单击活动中的按钮时,应用程序状态将发生变化.像这样的东西:

@Override
public void onClick(View pView) {
    ((MyApp)getApplicationContext()).setNewState();
}   
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何模拟该应用程序上下文.我使用ActivityUnitTestCase作为测试用例库.当我调用setApplication时,它会更改Activity类的mApplication成员的值,但不会更改应用程序上下文的值.我也尝试过setActivityContext,但它似乎不对(它不是应用程序上下文而是活动上下文)并且它在startActivity中触发断言).

所以问题是 - 如何模拟getApplicationContext()

java junit android unit-testing

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

java ×1

junit ×1

unit-testing ×1