单元测试中的测试覆盖范围是什么?

What is the scope of Test Coverage in Unit Test?

假设我在下面的Maven项目结构中有demoServiceImpldemoServiceImplTest

|--- src    
    |--- main
        |--- java
            |--- com.demo.services
                |--- demoServiceImpl.java

    |--- test
        |--- java
            |--- com.demo.unitTest
                |--- demoServiceImplTest.java

在IntelliJ IDEA中,有一个叫做Packages and classes to include in coverage data的选项用来缩小代码覆盖范围。

我想知道,例如,如果我想查看 demoServiceImplTest 的覆盖范围,我应该将哪些包添加到此部分?我认为,正如我编写此 demoServiceImplTest 单元测试仅用于测试 demoServiceImpl,那么可以仅将 demoServiceImpl 或其包添加到此包中并添加 类 以包含在覆盖数据部分。真的吗?或者什么是正确的方法?

您不必移动任何包裹。 转到包 com.demo.services.

中的 class demoServiceImpl(顺便说一句,应该命名为 DemoServiceImpl)

然后按 Ctrl + alt + T(或菜单 -> 导航 -> 测试)。 它将进入正确的测试 class 或要求您使用此弹出窗口创建一个正确的包:

所以,让IDE自动创建测试class到正确的包。 当你执行覆盖时它将依赖它来检查覆盖的包,classes 和方法。

随时探索 Injellij Documatation,它一点也不差。 https://www.jetbrains.com/help/idea/running-test-with-coverage.html

并且:https://www.jetbrains.com/help/idea/create-tests.html