web-dev-qa-db-ja.com

Intellijでのテストの実行:クラスが見つかりません

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にアップグレードすることを試みましたが、それでも同じ問題です。

47
gerasalus

同じ問題が発生しましたが、私の場合、問題は「プロジェクト設定」で「プロジェクトコンパイラの出力」パスが空白のままだったためです。

Project Structure configuration screen

それを修正するために、プロジェクトルートにclassesディレクトリを作成し、Project compiler outputから絶対パスへ(ボタンをクリックして参照します)。

28
bradley.ayers

これらの回答のいくつかを調べ、プロジェクトの設定に困惑し、いくつかのことを試しましたが、何もうまくいきませんでした。 (完全な開示:ここではGradleをジャグリングしようとはしていません。Mavenを使用しているだけですが、これがGradleとどう関係するのかわかりません。)

私はIDEA 14。

IntelliJが道を失ったように思えたので、私が働いたのはこれでした:

$ rm -rf .idea project-name.iml

次に、IntelliJを再起動し、[ファイル]-> [開く]->プロジェクトのルートに移動するなどを行いました。つまり、プロジェクトを再作成しただけです。

IntelliJはそれを乗り越えました。パッケージ名とクラス名の両方のリファクタリングを十分に行い、プロジェクト名を変更したため、このプロジェクトで元々何かを台無しにしていた可能性があります。 (それはおそらくそれが起こった私のせいだった。)

22
Russ Bateman

[プロジェクトの設定]-> [プロジェクト]に移動します。

プロジェクトコンパイラの出力を入力します。例: D:\ repo\Project\out

モジュール->パスに移動します

以下を確認してください。

出力パスはD:\ repo\Project\out\productionのようなものです

d:\ repo\Project\out\testのようなテスト出力パス

動作するはずです!

12
treefolk

そのテストの実行/デバッグ構成を確認してください。「モジュールのクラスパスとSDKを使用:」はモジュールを指している必要があります。

それまでの間、モジュールにはScalaファセットが必要であり、そのクラスは「テストソースフォルダー」内にある必要があります。

3
Stas

キャッシュを無効にして再起動してみてください。通常は、新しい依存関係/クラスを追加するときに問題を解決します。

3
RvK

同じ問題がありました。モジュール設定->モジュール->パス->テストクラスバイトコード用のディレクトリへのテスト出力パスでパスを変更しました(exclude output paths on)。これですべてが機能します

3
MaKri

テストクラスパッケージとテストケースを記述しているクラスが同じでないことを確認してください。テストケースとクラスの両方に同じパッケージが含まれている場合、コンパイラはsrcフォルダーを検索し、テストフォルダーを無視します。

2
Jet

私は同じ問題を抱えていました。Intellijはテスト出力パスを見つけていませんでした。ただし、通常のアプリケーションを実行しても問題はありませんでした。

私にとって、修正は継承されたプロジェクトコンパイルパスからモジュールコンパイル出力パスの使用に変更されました。

プロジェクト設定->モジュール->(モジュール)->パス(タブ)

ラジオ選択ボタンを「モジュールのコンパイル出力パスを使用」に変更します。私にとって、自動入力の提案は機能しましたが、自動提案が機能しない場合は、正しいテスト出力パスを手動で入力する必要があります。設定の変更を忘れずに適用してください。

1
gan

Intellij IDEAでテストフォルダーとしてマークされたテストファイルのフォルダーをshureにするだけです。それは私のために働いた。同じ名前のソースファイルを含むディレクトリが複数ある場合は、パッケージをクラスのソースファイルに追加します(存在しない場合)!

1
WebComer

次のように、モジュールの.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>
0
Frank Hon

単純に「ビルド>プロジェクトの再構築」が機能しました。

0
jgpATs2w

IDEAを再起動すると問題が解決しました。

0
greene