いままでは IntelliJ IDEA 上で JUnit によるユニットテストを実行していたのですが、Play! のバージョンを 2.1.1 から 2.1.3 にマイグレーションした際に IntelliJ 上での JUnit 実行ができなくなってしまい、解決法を探るのが面倒そうだったので play test
で暫定対処しようとしたものの、こちらもこちらでいろいろと地雷が埋まっていたので解消・回避方法をメモしておくことにします。
その 1 : 'play clean' してから 'play test' する
とりあえず play test
してその結果が以下の表示になる場合は、 play clean
をしましょう。
[warn] 1 warning
[info] No tests to run for test:test
ここ に書かれているとおり、
You might try doing a play clean and then try play test again. I was getting the same "No tests to run" message until I did a clean.
ということで、play clean
する必要があるそうです。play のコンソールを立ち上げた状態で clean
タスクを実行しても思ったようにクリーンされないようなので、いったん play コンソールを抜けてから play clean
するとよいです。
その 2 : junit-interface で work around する
上記の play clean
をしてから play test
をしても、(テストクラスは認識されるものの) それぞれのテストケースの実行結果が
[info] 0 tests, 0 failures, 0 errors
などと、個々のテストメソッドが実行されないことがあります (というかほぼ確実に実行されない?)。
そのような場合は、こちら に書かれているとおり、Build.scala
に junit-interface への依存関係を追加すると問題を回避できます。
以下は Build.scala
への追記例です。
val appDependencies = Seq(
// Add your project dependencies here,
javaCore,
javaJdbc,
javaEbean,
"play" %% "play-test" % play.core.PlayVersion.current % "test" exclude("com.novocode", "junit-interface"),
"com.novocode" % "junit-interface" % "0.9" % "test"
)
これでやっと play test
でユニットテストが実行できるはず!
Making presentations to the old customers in this field in honor of them to communicate with the company continuously.
返信削除شركة مكافحة حشرات بالرس
شركة رش مبيدات بالرس
ارخص شركة مكافحة حشرات