IntelliJ(13.0.2 133.696)を評価していますが、IDE内からjUnitテストを実行できません。
私のプロジェクトはマルチモジュールgradleプロジェクトであり、scalaを使用しています。
テストクラスはsrc/test/scala/xxx/xxxxx/xxx/xxxx/xxxxxの下にあり、IDEから実行しようとするたびに同じエラーが発生します。
Class not found: "xxx.xxxxx.xxx.xxxx.xxxxx.AccountRepositoryTest"
テストクラスは空想的な単純なjUnitテストではありません。
@RunWith(classOf[SpringJUnit4ClassRunner])
@ContextConfiguration(classes = Array(classOf[DataConfig], classOf[SettingsConfig]))
class AccountRepositoryTest extends AssertionsForJUnit {
関連する質問を見つけました JunitテストをIDEA 13.0 IDEインポートされたgradleプロジェクトの場合 から実行できませんが、提供された修正( 13.0.2へのアップグレード)は機能しません。
私は最新のEAPにアップグレードすることを試みましたが、それでも同じ問題です。
同じ問題が発生しましたが、私の場合、問題は「プロジェクト設定」で「プロジェクトコンパイラの出力」パスが空白のままだったためです。
それを修正するために、プロジェクトルートにclasses
ディレクトリを作成し、Project compiler output
から絶対パスへ(…
ボタンをクリックして参照します)。
これらの回答のいくつかを調べ、プロジェクトの設定に困惑し、いくつかのことを試しましたが、何もうまくいきませんでした。 (完全な開示:ここではGradleをジャグリングしようとはしていません。Mavenを使用しているだけですが、これがGradleとどう関係するのかわかりません。)
私はIDEA 14。
IntelliJが道を失ったように思えたので、私が働いたのはこれでした:
$ rm -rf .idea project-name.iml
次に、IntelliJを再起動し、[ファイル]-> [開く]->プロジェクトのルートに移動するなどを行いました。つまり、プロジェクトを再作成しただけです。
IntelliJはそれを乗り越えました。パッケージ名とクラス名の両方のリファクタリングを十分に行い、プロジェクト名を変更したため、このプロジェクトで元々何かを台無しにしていた可能性があります。 (それはおそらくそれが起こった私のせいだった。)
[プロジェクトの設定]-> [プロジェクト]に移動します。
プロジェクトコンパイラの出力を入力します。例: D:\ repo\Project\out
モジュール->パスに移動します
以下を確認してください。
出力パスはD:\ repo\Project\out\productionのようなものです
d:\ repo\Project\out\testのようなテスト出力パス
動作するはずです!
そのテストの実行/デバッグ構成を確認してください。「モジュールのクラスパスとSDKを使用:」はモジュールを指している必要があります。
それまでの間、モジュールにはScalaファセットが必要であり、そのクラスは「テストソースフォルダー」内にある必要があります。
キャッシュを無効にして再起動してみてください。通常は、新しい依存関係/クラスを追加するときに問題を解決します。
同じ問題がありました。モジュール設定->モジュール->パス->テストクラスバイトコード用のディレクトリへのテスト出力パスでパスを変更しました(exclude output paths on)。これですべてが機能します
テストクラスパッケージとテストケースを記述しているクラスが同じでないことを確認してください。テストケースとクラスの両方に同じパッケージが含まれている場合、コンパイラはsrcフォルダーを検索し、テストフォルダーを無視します。
私は同じ問題を抱えていました。Intellijはテスト出力パスを見つけていませんでした。ただし、通常のアプリケーションを実行しても問題はありませんでした。
私にとって、修正は継承されたプロジェクトコンパイルパスからモジュールコンパイル出力パスの使用に変更されました。
プロジェクト設定->モジュール->(モジュール)->パス(タブ)
ラジオ選択ボタンを「モジュールのコンパイル出力パスを使用」に変更します。私にとって、自動入力の提案は機能しましたが、自動提案が機能しない場合は、正しいテスト出力パスを手動で入力する必要があります。設定の変更を忘れずに適用してください。
Intellij IDEAでテストフォルダーとしてマークされたテストファイルのフォルダーをshureにするだけです。それは私のために働いた。同じ名前のソースファイルを含むディレクトリが複数ある場合は、パッケージをクラスのソースファイルに追加します(存在しない場合)!
次のように、モジュールの.imlファイルのタグ内のコンテンツを変更します。わたしにはできる。
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/Java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/Java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
単純に「ビルド>プロジェクトの再構築」が機能しました。
IDEAを再起動すると問題が解決しました。