11

似乎当我进行“移动”重构时,我所有的 junit 测试都放在了它的旧位置上。我经常测试“包”可见类,因此如果 SUT 移动到另一个包,它们就会变得不可见。

您是否手动移动测试?

4

2 回答 2

3

我有 4 个选项供您选择:

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

  2. 在进行重构之前将课程暂时公开,然后再切换回来。

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

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

于 2009-08-26T05:15:09.673 回答
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/package1test/package2(我知道,包是package1package2但我想加强对文件夹结构的关注。

我希望我能帮助你!

于 2009-07-14T05:37:31.860 回答