11

すべてのjunitテストを「移動」リファクタリングすると、古い場所に置かれるようです。多くの場合、「パッケージ」の可視クラスをテストするため、SUT が別のパッケージに移動すると、それらは非可視になります。

テストを手動で移動しますか?

4

2 に答える 2

3

4 つのオプションがあります。

  1. 左側の [パッケージ] ビューに移動し、両方のファイルを選択して、F6 を押します。両方を適切な場所に移動する必要があります。

  2. リファクタリングを行う前にクラスを一時的に公開し、後で元に戻します。

  3. 最初にテストを動かしてみてください。依存関係を壊さないようにすることを覚えているようです。

  4. Move Refactor にパッチを適用してテストも実行するプラグイン ( toggleTestまたはunitTestだと思います。両方をインストールしました) があります。うまくいきました。残念ながら、これらは最新の 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 に答える