2014-07-10 92 views
5

我想在Intellij Coummunity Edition 13.1.3中運行Scala測試(specs2)。我收到以下錯誤:在Intellij中運行Scala測試

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 

下面是一段代碼,在SBT運行過程中出現,但在的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 
    } 
} 

我試圖重新啓動的IntelliJ,SBT,清洗工程,但怒江成功。當從sbt命令行執行runnig測試時,一切正常。有任何想法嗎?

感謝

+0

你是如何將項目加載到intellij的? intellij sbt支持或sbt intellij項目生成器插件。 – johanandren

+0

Intellij sbt suport – sebi

+0

向我們展示您的測試代碼;這似乎是錯誤的地方 –

回答

1

在我的情況下關閉理念並通過發出再生工程中的設置

sbt gen-idea 

注: 你必須把此行到project/plugins.sbt有命令:

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0") 
相關問題