Scala Specs2(版本3.x) - 如何创建和使用Notifier?

时间:2015-03-12 12:11:23

标签: scala specs2

如何正确使用Scala Specs2 Notifier

Haven没有找到任何示例来演示Notifier特征的一些用例。

修改

如下使用Notifier时,它可以完美地运行:

class TestSpec extends TestUtils {

  "Arithmetic" should {
    "add two numbers" in {
      1 + 1 mustEqual 2
    }

    "add three numbers" in {
      1 + 1 + 1 mustEqual 3
    }
  }
}
class TestNotifier extends ConsoleNotifier

trait TestUtils extends Specification {
  args.report(notifier = "com.stuff.TestNotifier")
}

但是,当我试图为每个测试添加一些新的上下文创建时:

class TestSpec extends TestUtils {

  trait Context {
    val justNum = 4
  }

  "Arithmetic" should {
    "add two numbers" in new Context {
      1 + 1 mustEqual 2
    }

    "add three numbers" in new Context {
      1 + 1 + 1 mustEqual 3
    }
  }
}
出现

错误:

  

错误:(12,23)无法找到证据参数的隐含值   输入org.specs2.execute.AsResult [TestSpec.this.Context]       "添加两个数字"在新的背景{

1 个答案:

答案 0 :(得分:1)

Notifier的3.0.x文档为here(相应的API为there)。

基本上你需要定义一个实现Notifier特征的类,然后使用notifier参数调用它:

sbt> testOnly *BinarySpec* -- notifier org.acme.reporting.FtpNotifier

您可以查看ConsoleNotifier以获取一个简单的实施示例。