我知道可以使用 JUnit 中的向导创建一个 TestCase 或 TestSuite,但是如何在修改被测试的类之后同步代码,例如修改方法签名或新添加的方法。我希望我的 TestCases 能够在我的 TestCases 中同步(删除或添加)那些更改的方法/参数/方法签名。
我尝试在谷歌上搜索无济于事,也许有一个 eclipse 插件呢?
我知道可以使用 JUnit 中的向导创建一个 TestCase 或 TestSuite,但是如何在修改被测试的类之后同步代码,例如修改方法签名或新添加的方法。我希望我的 TestCases 能够在我的 TestCases 中同步(删除或添加)那些更改的方法/参数/方法签名。
我尝试在谷歌上搜索无济于事,也许有一个 eclipse 插件呢?
如前所述,只要您使用 Eclipse 工具重构而不是手动重命名,重命名或移动等重构将自动反映在测试用例中。
至于新方法,不可能自动生成测试。当然,自动生成的代码有一些例外,您可以控制生成以及您也可以生成测试用例,但是对于“普通”手动代码,您可以做的最好的事情是提供存根(空方法),以及有什么用在那里面?
更好的方法是使用诸如Cobertura或Emma之类的工具来跟踪代码覆盖率,它们恰好有一个很好的 Eclipse 插件,可以让您在源代码中查看哪些代码被测试覆盖,哪些没有。这就是您需要更多测试的地方的报告。
与生产代码结构具有 1-1 关系的测试是测试气味。最好将测试编写为系统行为的规范(每个行为一个测试),而不是根据生产代码生成测试(每个方法一个测试)。
引自http://blog.daveastels.com/files/BDD_Intro.pdf
当您意识到这完全是关于指定行为而不是编写测试时,您的观点就会改变。突然间,为每个生产类设置一个测试类的想法变得荒谬可笑。使用自己的测试方法(以 1-1 关系)测试每个方法的想法将是可笑的。
如果您使用自动重构更改方法签名,那么测试用例以及调用该方法的所有其他代码将自动更新。
对于新添加的方法,我不知道自动更新测试类的方法。