代码之家  ›  专栏  ›  技术社区  ›  Victor Oliveira

如何停止/终止我当前的测试用例?

  •  1
  • Victor Oliveira  · 技术社区  · 7 年前

    如果测试与某个场景匹配,我希望停止测试的执行,以避免代码重复。

    考虑以下情况:

    共同提供方测试

      public void executeCoreSuccess(Object responseModel){
         assertNotNull("Response successful", responseModel != null);
    
         if (responseModel == null) {
            //Kill Test
         }
      }
    

    儿童提供者测试 -扩展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内终止当前的测试用例,否则可能会触发进一步断言中的异常。我想避免这样的事情:

    共同提供方测试

    if (responseModel == null) {
        return true;
    }
    

    儿童提供者测试

    @Override
    public void onSuccess(Object responseModel) {
       if (executeCoreSuccess(responseModel))
           return;
    
         //Continue assertions
    }
    

    有没有办法用mockito、junit或roboletric终止当前的测试执行?到目前为止,谷歌还没有找到答案。

    提前谢谢

    2 回复  |  直到 7 年前
        2
  •  0
  •   Victor Oliveira    7 年前

    JUnit Assumptions

     public void executeCoreSuccess(Object responseModel){
        assumeTrue("Response successful",responseModel != null);
     }