如何模拟应用程序上下文
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何模拟应用程序上下文相关的知识,希望对你有一定的参考价值。
我们如何模拟应用程序上下文?我有一位演示者,我打算为他写一个测试。它收到的参数是vie
w和Context
。如何创建上下文模拟工作?
public TutorProfilePresenter(TutorProfileScreenView view, Context context){
this.view = view;
this.context = context
}
public void setPrice(float price,int selectedTopics){
int topicsPrice = 0;
if(selectedTopics>2)
{
topicsPrice = (int) ((price/5.0)*(selectedTopics-2));
}
view.setBasePrice(price,topicsPrice,selectedTopics,
price+topicsPrice);
}
答案
作为基础,我会使用Mockito注释(我假设你也想模拟视图):
public class TutorProfilePresenter{
@InjectMocks
private TutorProfilePresenter presenter;
@Mock
private TutorProfileScreenView viewMock;
@Mock
private Context contextMock;
@Before
public void init(){
MockitoAnnotations.initMocks(this);
}
@Test
public void test() throws Exception{
// configure mocks
when(contextMock.someMethod()).thenReturn(someValue);
// call method on presenter
// verify
verify(viewMock).setBasePrice(someNumber...)
}
}
这个wold注入了准备好将mocks配置到你正在测试的类中。
以上是关于如何模拟应用程序上下文的主要内容,如果未能解决你的问题,请参考以下文章