idea 测试覆盖率

1、编写类

package com.jacoco;

/**
 * @author ybwei
 * @Description
 * @date 2021/8/31 13:27
 **/
public class Add {
    public int add(int a, int b) {
        if (a == 20) {
            return 20;
        }
        return a + b;
    }
}

自行生成Test类快捷键,ctrl+shift+T或者在类中右键,选中Go To-->选择Test,弹窗中选中需要测试的方法,直接生成。

package com.jacoco;

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

@Slf4j
public class AddTest {

    private static Add add=new Add();

    @BeforeEach
    void setUp() {
        log.info("setUp");
    }

    @AfterEach
    void tearDown() {
        log.info("tearDown");
    }

    @Test
    void add() {
        int sum = add.add(1, 2);
        assertEquals(3, sum);
    }
}

2、idea自带插件

注意: 测试的包名和开发的包名必须一致,否则会没有测试报告(报No coverage in ‘all classes in scope‘ in Intellij)。

执行Run 'AddTest' with Coverage

idea 测试覆盖率_第1张图片

生成覆盖率

idea 测试覆盖率_第2张图片

 idea 测试覆盖率_第3张图片

 3、jacoco插件

pom.xml


    
        
            org.jacoco
            jacoco-maven-plugin
            0.8.7
            
                target/test-coverage/jacoco-unit.exec
                target/test-coverage/jacoco-unit.exec
            
            
                
                    default-prepare-agent
                    
                        prepare-agent
                    
                
                
                    jacoco-site
                    test
                    
                        report
                    
                
            
        
    

执行命令

mvn clean test -Dtest=com.jacoco.AddTest -Dmaven.test.failure.ignore=true verify

执行完成,在target/site/jacoco/index.html即可查看覆盖率图表。

idea 测试覆盖率_第4张图片

 idea 测试覆盖率_第5张图片

你可能感兴趣的:(架构设计,测试,idea)