【发布时间】:2016-06-26 13:49:23
【问题描述】:
以下是我在项目中使用的工具和框架。
- 改造
- 匕首2
- 大摇大摆
- Swagger 改造客户端生成器
我还在我的项目中实现了 MVP 设计模式。
我只想知道我需要使用真正的后端还是只需要 模拟后端以进行测试。如果我需要模拟后端是什么 推荐工具
swagger 是否提供任何工具来模拟 web 服务
单元测试android(MVP)的最佳实践主要有哪些 主持人
我在这里发布它是因为我没有在网络上找到所有这些问题的正确答案
我已经为我的演示者编写了一个示例测试用例,如果我做错了什么,请告诉我
演讲者
public void doLogin(String userName, String password) {
loginView.showProgressBar(true);
AuthenticationcontrollerApi authService = mDataClient.createService(AuthenticationcontrollerApi.class);
UserCredentials userCredentials = new UserCredentials();
userCredentials.setUserName(userName);
userCredentials.setPassword(password);
authService.authorizeUsingPOST(userCredentials, new Callback<String>() {
@Override
public void success(String s, Response response) {
loginView.showProgressBar(false);
loginView.onLoginSuccess(true, s);
}
@Override
public void failure(RetrofitError error) {
loginView.showProgressBar(false);
loginView.onLoginFailure(error);
}
});
}
测试
@RunWith(MockitoJUnitRunner.class)
public class LoginPresenterTest {
@Mock
protected AuthenticationcontrollerApi authService;
@Mock
protected DataClient mDataClient;
@Mock
LoginView loginView;
private LoginPresenter loginPresenter;
@Before
public void setUp() {
loginPresenter = new LoginPresenter(mDataClient);
loginPresenter.attachView(loginView);
when(mDataClient.createService(AuthenticationcontrollerApi.class)).thenReturn(authService);
}
@Test
public void loginSuccessful() {
String a = "";
loginPresenter.doLogin("abc", "abc");
verify(loginView).showProgressBar(true);
}
@After
public void detachView() {
loginPresenter.detachView();
}
}
提前致谢
【问题讨论】:
标签: android unit-testing junit retrofit swagger