用于创建java单元测试模板代码的工具

用于创建java单元测试模板代码的工具,java,unit-testing,code-generation,Java,Unit Testing,Code Generation,我正在编写一个Spring启动应用程序,我想确保我的测试覆盖得相当充分 我没有编写单元测试,而是想到应该有可用的工具来帮助编写单元测试。生成所需的代码存根 我并不是说生成实际的测试,因为这是危险的,而是一个生成测试方法的工具,然后我必须添加相关的代码。应生成足够的测试方法,以覆盖被测试方法的所有分支。例如: public void myComplicatedMethod(Integer i) { if (i++ > 10) { invokeOtherMethod(i);

我正在编写一个Spring启动应用程序,我想确保我的测试覆盖得相当充分

我没有编写单元测试,而是想到应该有可用的工具来帮助编写单元测试。生成所需的代码存根

我并不是说生成实际的测试,因为这是危险的,而是一个生成测试方法的工具,然后我必须添加相关的代码。应生成足够的测试方法,以覆盖被测试方法的所有分支。例如:

public void myComplicatedMethod(Integer i) {
  if (i++ > 10) {
      invokeOtherMethod(i);
  } else {
      throw new Exception("duh!");
  }
}
根据该代码,可以确定一些测试:

public void testShouldHandleNullI() {
}

public void testShouldInvokeOtherMethodIfILargerThan10() {
}

public void testShouldThrowExceptionIfINotLargerThan10() {
}
我认为应该能够识别通过该方法的每个路径,并且至少为该路径生成一个等效的测试方法名称

然后,我将遍历该代码并编写所有必需的测试


类似的东西是作为命令行工具还是IDE扩展存在的?

尽可能实现自动化。我喜欢它。不要过多地考虑代码覆盖率,想想需求覆盖率,也就是说:任何期望的行为都有自动测试吗?不幸的是,您无法衡量这一点,因此实现这一目标的最佳方法是测试驱动开发。这是否回答了您的问题@jps1984是和否。该页面上引用的工具不再可用,或者不适用于较新版本的eclipse。我现在正在看EvoSuite。如果这是一个可行的解决方案,我将发布我的问题的答案。@TimothyTruckle我确实考虑过单元测试的代码覆盖率以及与TDD的相关性。您所指的是验收测试,其中像Cucumber这样的BDD框架可能是记录法规遵从性的极好方法。使用BDD进行单元测试是可能的(实际上很有意义),但是无论您决定如何做,您都需要对不希望出现的行为进行大量测试,在这种情况下,自动生成存根作为对开发人员的提醒是有意义的。