标签: spec2

scala spec2我无法创建一个必须同时使用_ ==和失败的测试

我是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

testing scala specs2 scala-2.11 spec2

8
推荐指数
1
解决办法
1860
查看次数

使用Mockito模拟Scala void函数

我找到了一些答案,但没有什么对我有用.

试图模拟返回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.我的目标是测试登录方法并测试一些成功案例以及此方法抛出异常的一些失败案例.

scala mockito spec2

6
推荐指数
1
解决办法
3152
查看次数

带有集成测试的sbt组装

嗨,我有一个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)

scala sbt sbt-assembly spec2

3
推荐指数
1
解决办法
871
查看次数

标签 统计

scala ×3

spec2 ×3

mockito ×1

sbt ×1

sbt-assembly ×1

scala-2.11 ×1

specs2 ×1

testing ×1