Eclipse 2.1.0.nightly-2_09-201203121521-6e8582e の Scala IDE で Eclipse バージョン: 3.7.2 を使用しています。Java のバージョンは 1.6.0_31 です。OSはUbuntu11.10です。
この問題の解決策を探しましたが、まだ見つかりません。私が見逃した明らかな答えがないことを願っています。
私はこのクラスを持っています(パッケージに注意してください):
package model.x.y
import org.scalatest.FunSuite
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class GibberishTestSuite extends FunSuite {
test("Check Gibberish") {
assert("blah" === "blah")
}
}
私もgradleを使用しており、ソースパスは次のようになります(パッケージがディレクトリ階層と一致しないことに注意してください):
.../src/test/scala/model/GibberishTest.scala
Eclipse と gradle は、対応するクラス ファイルを生成します。
bin/model/x/y/GibberishTestSuite.class
build/classes/test/model/x/y/GibberishTestSuite.class
これはgradleを介して正常に実行されますが、Eclipseで実行しようとすると、
Class not found model.GibberishTestSuite
java.lang.ClassNotFoundException: model.GibberishTestSuite
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
パッケージを次のように変更すると
package model
ディレクトリ階層とパッケージ名が一致するようにすると、Eclipseで単体テストを実行できます。scala では、パッケージ構造とディレクトリ構造が一致しないことは合法です。ただし、不一致はEclipseまたはプラグインを混乱させるようです。
私は何か間違ったことをしていますか?構成のニュアンスが不足していますか? このscala言語機能はEclipseでサポートされていませんか? ある時点でサポートされますか?
ありがとうございました。