使用SBT和ScalaTest时可以安全地忽略ScalaCheck / Specs警告吗?

时间:2010-06-16 14:50:26

标签: scala sbt scalatest scalacheck

我有一个简单的基于FunSuite的ScalaTest:

package pdbartlett.hello_sbt                                                                        

import org.scalatest.FunSuite                                                                       

class SanityTest extends FunSuite {                                                                 

  test("a simple test") {                                                                           
    assert(true)                                                                                    
  }                                                                                                 

  test("a very slightly more complicated test - purposely fails") {                                 
    assert(42 === (6 * 9))                                                                          
  }                                                                                                 
}

我正在运行以下SBT项目配置:

import sbt._                                                                                        

class HelloSbtProject(info: ProjectInfo) extends DefaultProject(info) {                             

  // Dummy action, just to show config working OK.                                                  
  lazy val solveQ = task { println("42"); None }                                                    

  // Managed dependencies                                                                           
  val scalatest = "org.scalatest" % "scalatest" % "1.0" % "test"                                    
}

但是,当我运行sbt test时,我收到以下警告:

...
[info] == test-compile ==
[info]   Source analysis: 0 new/modified, 0 indirectly invalidated, 0 removed.
[info] Compiling test sources...
[info] Nothing to compile.
[warn] Could not load superclass 'org.scalacheck.Properties' : java.lang.ClassNotFoundException: org.scalacheck.Properties
[warn] Could not load superclass 'org.specs.Specification' : java.lang.ClassNotFoundException: org.specs.Specification
[warn] Could not load superclass 'org.specs.Specification' : java.lang.ClassNotFoundException: org.specs.Specification
[info]   Post-analysis: 3 classes.
[info] == test-compile ==
...

目前我假设这些只是“噪音”(由统一的测试界面引起?),我可以放心地忽略它们。但是对于我的一些内部OCD部分来说有点烦人(虽然不是那么烦人,我准备为其他框架添加依赖项)。

这是一个正确的假设,还是我的测试/配置代码中存在细微的错误?如果可以安全地忽略,是否有其他方法可以抑制这些错误,或者人们是否经常包含所有三个框架,以便他们可以选择最佳方法进行不同的测试?

TIA, 保罗。

(增加:scala v2.7.7和sbt v0.7.4)

1 个答案:

答案 0 :(得分:4)

Mark Harrah说忽视是安全的,并且应该在0.7.4之前修复,但他忘记了。