我在香草SBT项目中成功使用过specs2多次。现在我开始学习类型安全激活平台。
我做了以下步骤
activator new Shop just-play-scala
这是我的build.sbt文件
name := """Shop"""
version := "1.0-SNAPSHOT"
// Read here for optional jars and dependencies
libraryDependencies ++= Seq("org.specs2" %% "specs2-core" % "3.6.1" % "test")
resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
scalacOptions in Test ++= Seq("-Yrangepos")
lazy val root = project.in(file(".")).enablePlugins(PlayScala)
我创建了一个文件Shop/app/test/models/ShopSpec.scala
import org.specs2.mutable.Specification
class ShopSpec extends Specification {
def foo = s2"""
| This is a specification to check the 'Hello world' string
| The 'Hello world' string should
| contain 11 characters $e1
| start with 'Hello' $e2
| end with 'world' $e3
| """.stripMargin
def e1 = "Hello world" must haveSize(11)
def e2 = "Hello world" must startWith("Hello")
def e3 = "Hello world" must endWith("world")
}
当我运行activator test
时出现错误
[success] Total time: 0 s, completed Jun 24, 2015 12:21:32 AM
Mohitas-MBP:Shop abhi$ activator test
[info] Loading project definition from /Users/abhi/ScalaProjects/Shop/project
[info] Set current project to Shop (in build file:/Users/abhi/ScalaProjects/Shop/)
**cannot create a JUnit XML printer. Please check that specs2-junit.jar is on the classpath**
org.specs2.reporter.JUnitXmlPrinter$
java.net.URLClassLoader.findClass(URLClassLoader.java:381)
java.lang.ClassLoader.loadClass(ClassLoader.java:424)
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.jav
我在使用SBT项目时已经成功编写了spec2测试用例。但只有当我使用typesafe activator
时才会出现测试用例的问题。
我甚至将测试代码更改为
这样简单的代码import org.specs2.mutable.Specification
class ShopSpec extends Specification {
"A shop " should {
"create item" in {
failure
}
}
}
但仍然是同样的问题。
答案 0 :(得分:1)
等等......我想我已经解决了。
激活器播放平台已包含specs2,因此我无需调整specs 2的built.sbt文件。
所以我删除了我添加到build.sbt文件的所有内容并将文件保留为
name := """Shop"""
version := "1.0-SNAPSHOT"
lazy val root = project.in(file(".")).enablePlugins(PlayScala)
现在它运作正常。所以基本上,我不需要在specs2的激活器项目中添加任何东西。
我本可以删除这个问题......但是把它留在这里,以便对某人有所帮助。
答案 1 :(得分:0)
对我有用的是将以下内容添加到build.sbt
:
libraryDependencies ++= Seq("org.specs2" %% "specs2-core" % "3.6.2" % "test",
"org.specs2" %% "specs2-junit" % "3.6.2" % "test")