Intellij Idea使用Junit测试“移动重构”

时间:2009-07-13 10:22:49

标签: junit intellij-idea

似乎当我进行“移动”重构时,我所有的junit测试都放在它原来的地方。我经常测试“包”可见类,因此如果SUT移动到另一个包,它们将变得不可见。

你手动移动测试吗?

2 个答案:

答案 0 :(得分:3)

我有4个选项:

  1. 转到左侧的“打包”视图,选择这两个文件,然后按F6。它应该将它们移动到正确的位置。

  2. 在您执行重构之前暂时将该类公开,然后再切换回来。

  3. 首先尝试移动测试。我似乎记得避免破坏任何依赖。

  4. 有一个插件(我认为它是toggleTestunitTest - 我已经安装了它们)修补了Move Refactor也带来了测试。工作得很好。不幸的是,看起来这些可能不适用于最新的IDEA。

答案 1 :(得分:0)

您描述的行为完全正常。

src/package1/A.java
test/package1/ATest.java

ATest.java import package1.A;。{。} 重构后,它看起来像这样:

src/package2/A.java
test/package1/ATest.java

测试代码保持原样。您没有移动测试代码,而是移动了源代码。它不应该影响任何其他文件夹(例如在您的示例中) ATest.java中的引用现在必须为import package2.A;。否则,重构就出错了。

尽管如此,您的测试应该可以正常工作,即使它们位于不同的目录中。那是因为重构方法改变了导入。

如果要清理文件夹结构,则必须手动将包test/package1重命名为test/package2(我知道,包是package1package2但是我想加强对文件夹结构的关注。

我希望我能帮到你!