首页 > 解决方案 > Spring Boot - 文件夹中的所有测试都从覆盖率报告中排除

问题描述

人们。

我有这个 Spring Boot 应用程序,其中包含一些要测试的服务、实用程序和控制器。我已经为所有这些都编写了测试,到目前为止 35 个,并且 35 个测试得到了正确执行。

问题是,由于某种原因,当我生成代码覆盖率报告时,服务目录中的类显示为 0 覆盖率,即使它们相应的测试执行时没有错误,如下图所示。

例如,DummyDummyTest类是来自不同包中的其他两个类的副本 - util而不是service - 而那些来自 utils 的类没有问题。诅咒只发生在服务内部。

例如,这些是 Dummy 和 DummyTest 的内容。

我已经在没有模拟的情况下重写了它,但无论哪种方式都不起作用:

package quality.service;

import org.springframework.stereotype.Component;

import java.util.Base64;

@Component
public final class Dummy {

    private Dummy() {
    }

    public static String encodeStringBase64(String string) {
        return Base64.getEncoder().encodeToString(string.getBytes());
    }

}

//---------------------------------------------------------

package quality.service;

import org.junit.Test;

import static org.junit.Assert.assertEquals;
import static quality.service.Dummy.encodeStringBase64;

public class DummyTest {

    @Test
    public void testEncodeStringBase64ReturnsEmptyValue() {
        assertEquals("", encodeStringBase64(""));
    }

    @Test
    public void testEncodeStringBase64ReturnsEncodedString() {
        assertEquals("VGVzdFN0cmluZ0AwMjQ1", encodeStringBase64("TestString@0245"));
    }

}

任何建议将不胜感激。

截屏

标签: spring-bootjunitmockitocode-coverage

解决方案


推荐阅读