单元测试中的测试覆盖范围是什么?
What is the scope of Test Coverage in Unit Test?
假设我在下面的Maven项目结构中有demoServiceImpl
和demoServiceImplTest
。
|--- 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
假设我在下面的Maven项目结构中有demoServiceImpl
和demoServiceImplTest
。
|--- 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