Можно ли безопасно игнорировать предупреждения ScalaCheck / Specs при использовании SBT с ScalaTest? - PullRequest
3 голосов
/ 16 июня 2010

У меня есть простой ScalaTest на основе FunSuite:

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 меня (хотя и не так раздражает, что я готов добавить зависимости для других структур).

Это правильное предположение, или в моем тестовом / конфигурационном коде есть тонкие ошибки? Если игнорировать безопасно, есть ли другой способ подавления этих ошибок, или люди обычно включают все три фреймворка, чтобы они могли выбирать и выбирать лучший подход для различных тестов?

ТИА, Пол.

(ДОБАВЛЕНО: scala v2.7.7 и sbt v0.7.4)

1 Ответ

4 голосов
/ 16 июня 2010

Марк Харра говорит, что игнорировать безопасно, и должен был быть исправлен до 0.7.4, но он забыл об этом.

...