【问题标题】:scala specs2 using variables in testsscala specs2 在测试中使用变量
【发布时间】:2014-05-11 04:51:12
【问题描述】:
object Test extends Specification {

  var test = 1
  println("test: " + test)
  "Tests" should {
    "A" in {
      println("test in A: " + test)
      test = 2
      1 mustEqual 1
    }
    "B" in {
      println("test in B: " + test)
      test = 3
      1 mustEqual 1
    }

  }

  println("test end: " + test)

}

当我运行测试时,我得到:

测试:1 测试结束:1 测试:1 测试结束:1 B测试:1 在 A 中测试:1

我想使用这个变量,可以吗?谢谢!

【问题讨论】:

    标签: scala specs2


    【解决方案1】:

    出现这种奇怪行为的原因是 specs2 同时运行了这些规范。

    这是其中一项功能,您可以在此处阅读http://etorreborre.github.io/specs2/(查看功能标题)。

    您可以通过将sequential 调用添加到您的规范来使​​其按顺序运行。

    object Test extends Specification {
      var test = 1
    
      sequential // <- this will make the examples sequentially
    
      println("test: " + test)
      "Tests" should {
        "A" in {
          println("test in A: " + test)
          test = 2
          1 mustEqual 1
        }
        "B" in {
          println("test in B: " + test)
          test = 3
          1 mustEqual 1
        }
    
      }
    
      println("test end: " + test)
    
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-19
      • 1970-01-01
      • 2014-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多