是否可以将JUnit测试用例与Eclipse中的测试类同步?

时间:2009-07-27 18:14:42

标签: java eclipse synchronization junit junit4

我知道可以在JUnit中使用向导创建TestCase或TestSuite,但是在修改测试类之后如何同步代码,例如方法签名修改或新添加的方法。我希望我的TestCase能够在我的TestCase中同步(删除或添加)那些已更改的方法/参数/方法签名。

我尝试在Google上搜索无济于事,也许有一个eclipse插件吗?

3 个答案:

答案 0 :(得分:3)

如前所述,重命名或移动等重构将自动反映在测试用例中,只要您使用Eclipse工具进行重构,而不是手动重命名,例如。

至于新方法,不可能自动生成测试。当然,对于自动生成的代码,您可以控制生成以及在哪里生成测试用例,但是对于“普通”手动代码,您可以做的最好的事情是提供存根(空方法),以及有什么用处在那?

更好的方法是使用code coverageCobertura之类的工具跟踪Emma,该工具恰好有nice Eclipse plugin,可让您在源内查看代码,测试覆盖了哪些代码,哪些代码不覆盖。然后,这是您需要进行更多测试的报告。

答案 1 :(得分:1)

与生产代码结构具有1-1关系的测试是测试气味。最好将测试编写为系统行为的规范(每个行为一次测试),而不是根据生产代码生成测试(每个方法一次测试)。

引自http://blog.daveastels.com/files/BDD_Intro.pdf

  

当你意识到所有关于指定行为而不是编写测试时,你的观点是   查看转变。突然间,为每个生产类创建一个Test类的想法是荒谬的   限制。以及使用自己的测试方法测试每个方法的想法(在   1-1关系)将是可笑的。

答案 2 :(得分:0)

如果使用自动重构更改方法签名,则测试用例 - 以及调用该方法的所有其他代码 - 将自动更新。

对于新添加的方法,我不知道如何让测试类自动更新。