当重命名被测试的类时,Eclipse是否可以自动重命名单元测试类?

13

我经常在Eclipse中使用“重构 -> 重命名”功能,并且习惯于将相关的单元测试命名为TestedClassNameTest。但是,当我重命名被测试的类时,我不能忘记重命名我的单元测试。如果能够在重命名被测试的类时自动重命名我的单元测试将非常有用。

我猜创建一个能够完成这项工作的插件并不难,但也许这并不是必要的?


2
我很惊讶之前没有人问过这个问题。这是一个非常有用的功能,特别是当类被移动到不同的包中时。 - Vineet Reynolds
在半相关的话题上,我真的很想知道 Visual Studio 是否也有这个功能。我想我会提出一个问题…… :P - Tomas Aschan
我之前也有过同样的想法,但是你习惯了事情现在的状态,就会忘记它本来可以更好... - Max Leske
我个人使用IntelliJ IDEA进行Java开发,它也有同样的问题。我遇到的另一个问题是,我将我的测试用例命名为“methodName_shouldDoSomething[_whenCondition]”。当我想要将被测试的方法从“methodName()”重命名为“foo()”时,它不会重命名测试用例以反映这一点。我目前正在开发一个IntelliJ插件,可以完成这些额外的功能(测试类和测试用例重命名)。我认为在Eclipse中尝试同样的事情不会很难。 - Jesse Webb
3个回答

3

2

经过多次谷歌搜索和Eclipse搜索,似乎还没有此功能。

今天在Eclipse中没有“类被单元测试”的概念。我所指的是,您可以创建单元测试类来测试任何内容:完整的包、单个类、单个方法、完整的插件...

更准确地说,在Eclipse的模型中,“被测试的类”与相关联的单元测试之间“没有关系”。

我完全同意您的观点,在Eclipse中拥有这样的功能会很好。更进一步地,能够生成单元测试框架将这些测试类与被测试的类链接起来将会非常棒。

也许您可以在Eclipse Buzilla上启动讨论,可能在PDE类别中。

曼努


谢谢,我已经在Eclipse的Bugzilla上报告了一个增强功能。https://bugs.eclipse.org/bugs/post_bug.cgi - Stijn Vanpoucke
你能否提供一下你刚刚打开的错误链接?这是全局的链接,用于发布新的错误。 - Manuel Selva
1
抱歉,这更接近我们的需求了:https://bugs.eclipse.org/bugs/show_bug.cgi?id=320715 Bug #320715 - Stijn Vanpoucke
有没有一个扩展点会在类被移动/重命名时被调用?因为我想把它放在我们内部的Eclipse插件中。 - Stroboskop

0
Eclipse无法自动更改此内容:它只会更改其他类或同一类中使用的方法的引用。 如果您真的想让此功能正常工作,您可以像我为我的项目所做的那样扩展Eclipse的重构API,并为其提供这个新功能。 如果您需要任何参考,请随时向我询问;-)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接