【发布时间】:2018-07-16 13:25:01
【问题描述】:
如果测试与特定场景匹配,我想停止执行测试,以避免代码重复。
考虑以下情况:
CoreProviderTest
public void executeCoreSuccess(Object responseModel){
assertNotNull("Response successful", responseModel != null);
if (responseModel == null) {
//Kill Test
}
}
ChildProviderTest - 扩展 CoreProviderTest
@Test
public void responseTester() {
new Provider().getServiceResponse(new Provider.Interface() {
@Override
public void onSuccess(Object responseModel) {
executeCoreSuccess(responseModel);
//Continue assertions
}
@Override
public void onFailure(ErrorResponseModel error) {
executeCoreFailure(error);
}
});
}
对于空响应,我想在 CoreProviderTest 中终止我当前的测试用例,否则可能会在进一步的断言中触发异常。我想避免这样的事情:
CoreProviderTest
if (responseModel == null) {
return true;
}
ChildProviderTest
@Override
public void onSuccess(Object responseModel) {
if (executeCoreSuccess(responseModel))
return;
//Continue assertions
}
有没有办法用 Mockito、JUnit 或 Roboletric 终止当前的测试执行?到目前为止没有运气搜索答案。
提前致谢
【问题讨论】:
-
assumes 可能会帮助你
标签: unit-testing junit automated-tests mockito robolectric