gpt4 book ai didi

java - 如何模拟应用程序上下文

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:23 25 4
gpt4 key购买 nike

我们如何模拟应用程序上下文?我有一个演示者,我打算为其编写测试。它接收的参数是 viewContext。如何为上下文创建模拟?

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 注释(我假设你也想模拟 View ):

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...)
}

}

这会将准备好配置的模拟注入(inject)到您正在测试的类中。

关于 Mockito stub 的更多见解:sourceartists.com/mockito-stubbing

关于java - 如何模拟应用程序上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44305134/

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