是否可以将 JUnit 测试用例与 Eclipe 中测试的类同步?
-
19-09-2019 - |
题
我知道可以使用 JUnit 中的向导创建 TestCase 或 TestSuite,但是在测试下的类被修改后(例如方法签名修改或新添加的方法),如何同步代码。我希望我的测试用例能够在我的测试用例中同步(删除或添加)那些更改的方法/参数/方法签名。
我尝试在Google上搜索没有结果,也许有一个eclipse插件可以实现这一点?
解决方案
测试,其具有的生产代码的结构的1-1关系是测试气味。这是更好的为测试写为系统的行为的规范(〜每行为一个测试),而不是具有测试生成基于产生码(〜每一个方法测试)。
这 http://blog.daveastels.com/files/BDD_Intro.pdf引一>
当你意识到它的所有有关规定的行为,而不是写测试,您的点 视图偏移。突然有您的每个生产类的测试类的想法是可笑的 限制。和测试您的每一个方法都有自己的测试方法的思想(以 1-1关系)将可笑。
其他提示
正如前面提到的,只要您使用 Eclipse 工具进行重构,而不是通过手动重命名等方式进行重构,重命名或移动等重构就会自动反映在测试用例中。
对于新方法,不可能自动生成测试。当然,自动生成的代码有一些例外,您可以在其中控制生成,也可以生成测试用例,但对于“正常”手动代码,您可以做的最好的事情就是提供存根(空方法),这有什么用在那里面?
更好的方法是跟踪 代码覆盖率 使用诸如 科贝尔图拉 或者 艾玛, ,恰好有一个 不错的 Eclipse 插件 这使您可以在源代码中查看测试覆盖了哪些代码,哪些没有覆盖。这就是您需要更多测试的地方的报告。
如果你改变使用自动重构,则测试用例方法签名 - 和调用该方法的所有其他代码 - 将被自动更新
有关新加入的方法,我不知道的方式有测试类自动更新。