Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在没有单元测试的情况下查找类?_Java_Eclipse_Unit Testing_Junit - Fatal编程技术网

Java 如何在没有单元测试的情况下查找类?

Java 如何在没有单元测试的情况下查找类?,java,eclipse,unit-testing,junit,Java,Eclipse,Unit Testing,Junit,按照标准约定,我将源代码和单元测试放在单独的文件夹中。 我在创建测试时遵循相同的包结构 例如,如果在文件夹src中的包com.kshitiz中有一个类OrderGenerator,我的单元测试将是com.kshitiz文件夹test中的OrderGeneratorTest 在我当前的设置中,这种类型的组织在一段时间后变得不可管理。我不能在编写代码之前编写单元测试。其他开发人员负责编写代码,我应该跟进测试用例。(是的,我知道应该是相反的方向,但我无能为力) 因为测试用例是第二次编写的,所以我必须检

按照标准约定,我将源代码和单元测试放在单独的文件夹中。 我在创建测试时遵循相同的包结构

例如,如果在文件夹
src
中的包
com.kshitiz
中有一个类
OrderGenerator
,我的单元测试将是
com.kshitiz
文件夹
test
中的
OrderGeneratorTest

在我当前的设置中,这种类型的组织在一段时间后变得不可管理。我不能在编写代码之前编写单元测试。其他开发人员负责编写代码,我应该跟进测试用例。(是的,我知道应该是相反的方向,但我无能为力)

因为测试用例是第二次编写的,所以我必须检查所有包,寻找类,并在这些类中寻找方法,以确保我已经为它们进行了测试。有100个类和1000个方法,这是相当痛苦的

有没有办法确保您的测试用例覆盖率与代码一致?有没有一种简单的方法可以找到没有相应测试用例的类

我正在使用Java、Eclipse和JUnit4。

EclEmma是Eclipse的免费Java代码覆盖工具,可在Eclipse公共许可证下获得。它将代码覆盖率分析直接引入Eclipse工作台:

  • 快速开发/测试周期:可以直接分析从工作台中启动的JUnit测试运行的代码覆盖率
  • 丰富的覆盖率分析:覆盖率结果会立即在Java源代码编辑器中进行总结和突出显示
  • 非侵入性:EclEmma不需要修改项目或执行任何其他设置
代码覆盖率不仅会告诉您测试(直接或间接)测试了哪些类,还会告诉您测试覆盖了哪些方法和其中的哪些分支。它是一个非常好的指南,可以帮助您确定在哪里花费早期测试工作

以下是它为您提供的报告类型:

您可以在右下角的面板中看到每个类包含了多少内容,因此从底部算起第二个类几乎没有经过测试。在右上角,它显示了覆盖了哪些分支——显然,该方法从未使用空输入进行过测试。

根据具体情况,您可能会对Clover感兴趣,它也可以作为eclipse插件提供。更多信息请访问