【问题标题】:How to unit test code blocks in spring boot如何在 Spring Boot 中对代码块进行单元测试
【发布时间】:2020-09-07 12:18:04
【问题描述】:

我在 spring boot 中使用 junit 和 mockito 编写了单元测试。我的方法使用了将代码块作为输入并执行所需功能的方法。下面是代码示例。

class A{
    execute(Codeblock codeblock){
      
    }

   }
 


Class B {
    
   
  C testFunction(){
     return A.execute(()->{
               code to execult ...;
              });
    }
  
  }

class TestB{
    @InjectMock
   B b;
    @Mock
   A a;
 void testFunction(){
    when(A.execult(any())).return(C);
    AssertNotNull(b.testFunction());
    }
}

此代码运行良好,但代码覆盖率非常低,因为代码块未执行。有什么方法可以执行代码块并增加覆盖率。

【问题讨论】:

    标签: spring-boot unit-testing junit mockito springmockito


    【解决方案1】:

    使用模拟 (A) 测试您的类 (B) 是正确的,目标是测试 B 中的任何逻辑并验证与协作者(在本例中为 A)的交互。

    然后我将为 A(模拟代码块类)创建测试,应用与上述相同的原则。

    最后我会独立测试代码块逻辑。

    【讨论】:

      猜你喜欢
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      相关资源
      最近更新 更多