Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running Scala tests in Intellij

I am trying to run Scala tests (specs2) in Intellij Coummunity Edition 13.1.3. I am getting the following error:

Connected to the target VM, address: '127.0.0.1:57980', transport: 'socket'

'Start' method is not found in MyNotifierRunner null

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:606)
Disconnected from the target VM, address: '127.0.0.1:57980', transport: 'socket'
    at org.jetbrains.plugins.scala.testingSupport.specs2.JavaSpecs2Runner.runSingleTest(JavaSpecs2Runner.java:123)
    at org.jetbrains.plugins.scala.testingSupport.specs2.JavaSpecs2Runner.main(JavaSpecs2Runner.java:69)
Caused by: java.lang.NoSuchMethodError: org.specs2.matcher.MatchResult$.matchResultAsResult()Lorg/specs2/execute/AsResult;
    at components.reports.ReportsDemographicsComponentTest$$anonfun$1.apply$mcV$sp(ReportsDemographicsComponentTest.scala:14)
    at components.reports.ReportsDemographicsComponentTest$$anonfun$1.apply(ReportsDemographicsComponentTest.scala:13)
    at components.reports.ReportsDemographicsComponentTest$$anonfun$1.apply(ReportsDemographicsComponentTest.scala:13)
    at org.specs2.mutable.SideEffectingCreationPaths$$anonfun$executeBlock$1.apply$mcV$sp(FragmentsBuilder.scala:292)
    at org.specs2.mutable.SideEffectingCreationPaths$class.replay(FragmentsBuilder.scala:264)
    at org.specs2.mutable.Specification.replay(Specification.scala:12)
    at org.specs2.mutable.FragmentsBuilder$class.fragments(FragmentsBuilder.scala:27)
    at org.specs2.mutable.Specification.fragments(Specification.scala:12)
    at org.specs2.mutable.SpecificationLike$class.is(Specification.scala:14)
    at org.specs2.mutable.Specification.is(Specification.scala:12)
    at org.specs2.specification.SpecificationStructure$$anonfun$content$1.apply(BaseSpecification.scala:56)
    at org.specs2.specification.SpecificationStructure$$anonfun$content$1.apply(BaseSpecification.scala:56)
    at org.specs2.specification.SpecificationStructure$class.map(BaseSpecification.scala:44)
    at org.specs2.mutable.Specification.map(Specification.scala:12)
    at org.specs2.specification.SpecificationStructure$class.content(BaseSpecification.scala:56)
    at org.specs2.mutable.Specification.content$lzycompute(Specification.scala:12)
    at org.specs2.mutable.Specification.content(Specification.scala:12)
    at org.specs2.runner.ClassRunner$$anonfun$apply$1$$anonfun$apply$2.apply(ClassRunner.scala:54)
    at org.specs2.runner.ClassRunner$$anonfun$apply$1$$anonfun$apply$2.apply(ClassRunner.scala:54)
    at org.specs2.control.Exceptions$class.tryo(Exceptions.scala:32)
    at org.specs2.control.Exceptions$.tryo(Exceptions.scala:109)
    at org.specs2.runner.ClassRunner$$anonfun$apply$1.apply(ClassRunner.scala:54)
    at org.specs2.runner.ClassRunner$$anonfun$apply$1.apply(ClassRunner.scala:53)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:34)
    at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
    at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
    at org.specs2.runner.ClassRunner.apply(ClassRunner.scala:53)
    at org.specs2.runner.ClassRunner.start(ClassRunner.scala:31)
    at org.specs2.runner.ClassRunner.main(ClassRunner.scala:24)
    at org.specs2.runner.NotifierRunner.main(NotifierRunner.scala:24)
    ... 6 more

Process finished with exit code 1

Here is piece of code runnig in sbt, but failing in Intellij:

class ReportsDemographicsComponentTest extends Specification with ReportsComponents {

  "ReportsDemographicsComponent" should {

    s"return empty list of $DeviceStatistics for an inexistent deliveryId" in DBUnitTestsUtils(2) {
      accountId => implicit session =>

        val service = new ReportsDemographicsService(accountId)
        val res = service.deviceStatistics(-1)

        res.size mustEqual 0
    }
}

I have tried restarting Intellij, sbt, cleaning project, but to nu success. When running tests from the sbt command line, everything is OK.

like image 628
sebi Avatar asked Nov 11 '22 05:11

sebi


1 Answers

In my case closing Idea and regenerating the projec setup by issuing

sbt gen-idea

Note: You have to put this line into project/plugins.sbt to have the command:

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
like image 108
Rajish Avatar answered Nov 14 '22 23:11

Rajish