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