我是Scala和Spec2的新手.
我想创建以下测试,但我从编译器得到一个错误.
这是我想写的测试
import org.specs2.mutable._
import org.specs2.specification._
import org.specs2.matcher._
import org.specs2.matcher.MatchResult
class SimpleParserSpec extends Specification {
"SimpleParser" should {
val parser = new SimpleParser()
"work with basic tweet" in {
val tweet = """{"id":1,"text":"foo"}"""
parser.parse(tweet) match {
case Some(parsed) => {
parsed.text must be_==("foo")
parsed.id must be_==(1)
}
case _ => failure("didn't parse tweet")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:C:\ Users\haques\Documents\workspace\SBT\jsonParser\src\test\scala\com\twitter\sample\simpleSimpleParserSpec.scala:17:找不到类型组织的证据参数的隐含值. specs2.execute.AsResult [对象]
问候,
Shohidul
我找到了一些答案,但没有什么对我有用.
试图模拟返回void的Apache Shiro Subject接口登录方法.
接口:
void login(AuthenticationToken token) throws AuthenticationException;
Run Code Online (Sandbox Code Playgroud)
我试过了 :
#1
val subject = mock[Subject]
doNothing().when(subject).login(new UsernamePasswordToken())
#2
val subject = mock[Subject]
doNothing().when(subject).login(any[UsernamePasswordToken])
#3
when(subject.login(any[UsernamePasswordToken])).thenAnswer(new Answer[Void]() {
override def answer(invocation: InvocationOnMock): Void = {
null:Void
}
Run Code Online (Sandbox Code Playgroud)
我在登录时不断收到NullPointerException.我的目标是测试登录方法并测试一些成功案例以及此方法抛出异常的一些失败案例.
嗨,我有一个SBT构建文件,用于处理我们组织内的集成测试,该测试本身可以工作,并且我可以单独运行该单元并对其进行测试。但是,当使用sbt-assembly打包应用程序时,由于无法在内存中进行编译,因此我无法依次运行两个测试(单元++),这是sbt.Project及其设置:
import BuildSettings._
import Dependencies._
import Resolvers._
val name = "api"
lazy val api = Project(
name, file("."),
settings = buildSettings
++ Seq(resolvers := repositories, libraryDependencies ++= dependencies)
++ SbtStartScript.startScriptForClassesSettings
++ Revolver.settings
++ assemblySettings
++ Seq(jarName := name + "-" + currentGitBranch + ".jar")
).configs(IntegrationTest)
.settings(Defaults.itSettings: _*)
.settings(parallelExecution in IntegrationTest := false)
.settings(parallelExecution in Test := true)
.settings(scalaSource in IntegrationTest := baseDirectory.value / "src/test/scala")
.settings(resourceDirectory in IntegrationTest := baseDirectory.value / "src/test/resources")
.settings(
testOptions in IntegrationTest := Seq(Tests.Filter(itFilter)),
testOptions in Test …Run Code Online (Sandbox Code Playgroud)