Failed to create controller instances. WebJarAssets during testing

The game is working fine when I use sbt run. However, when I try to do such a test:

@RunWith(classOf[JUnitRunner])
class MarketApiSpec extends Specification {
  "Market API" should {
    "load product list" in new WithApplication {
      val completed = route(FakeRequest("GET", "/api/products")).get.map(x => Json.parse(x.body.toString()))
      val jsonObject = Await.result(completed, Duration("1s"))
      jsonObject.get("products").get(0).get("name").asText() must beEqualTo("Programmer");
    }
  }
}

With a, sbt testI get this error exception:

[info] Market API should
[info] ! load product list
[error]    RuntimeException: : java.lang.NoClassDefFoundError: Could not initialize class controllers.WebJarAssets$  (Action.scala:523)
[error] play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:523)

I googled a lot, but I did not find a solution. I think this is related to sbt in some way, but even with the scope of validation does not help.

+4
source share

Source: https://habr.com/ru/post/1617272/


All Articles