我无法编译简单的specs2 hello world示例:
import org.junit.runner.RunWith
import org.specs2.Specification
import org.specs2.runner.JUnitRunner
import org.specs2.mutable._
@RunWith(classOf[JUnitRunner])
class SampleTest extends Specification {
"The 'Hello world' string" should {
"contain 11 characters" in {
"Hello world" must have size(11)
}
"start with 'Hello'" in {
"Hello world" must startWith("Hello")
}
"end with 'world'" in {
"Hello world" must endWith("world")
}
}
}
获取错误:
:compileTestScala [ant:scalac]元素'/ home / ~~~~ / workspaces / ~~~~ / build / resources / main'不存在。
[ant:scalac] /home/~~~~/workspaces/~~~~/src/test/scala/com/~~~~/ingestion/SampleTest.scala:16: 错误:value in不是String的成员
[ant:scalac]“包含11个字符”{
[ant:scalac]发现一个错误 :compileTestScala失败
我正在使用Gradle(因此使用@RunWith注释)。使用specs2版本'org.specs2:specs2_2.10:2.4.15'
apply plugin: 'java'
apply plugin: 'scala'
repositories {
mavenCentral()
maven {
url "http://dl.bintray.com/scalaz/releases"
}
}
configurations {
provided
compile.extendsFrom provided
}
dependencies {
provided 'org.apache.hadoop:hadoop-client:2.2.0'
compile 'org.scala-lang:scala-library:2.10.0',
'com.twitter:scalding-core_2.10:0.12.0',
'com.github.scopt:scopt_2.10:3.2.0',
'org.json4s:json4s-jackson_2.10:3.2.11',
'args4j:args4j:2.0.29',
'joda-time:joda-time:2.4',
'log4j:log4j:1.2.17',
'org.apache.commons:commons-compress:1.9',
'org.apache.commons:commons-lang3:3.3.2',
'org.codehaus.jackson:jackson-core-asl:1.9.13'
testCompile 'junit:junit:4.11',
'org.mockito:mockito-all:1.9.5',
'org.specs2:specs2_2.10:2.4.15'
}
jar {
dependsOn configurations.runtime
from {
(configurations.compile - configurations.provided).collect {
it.isDirectory() ? it : zipTree(it)
}
}
}
答案 0 :(得分:14)
您需要为该语法扩展org.specs2.mutable.Specification
而不是org.specs2.Specification
。
答案 1 :(得分:1)
如果您需要特征,请使用org.specs2.mutable.SpecificationLike