【问题标题】:Scalatest run code before and after specific testScalatest 在特定测试之前和之后运行代码
【发布时间】:2014-07-08 19:58:45
【问题描述】:

我想问一个简单的问题。

有没有办法在特定测试之前和之后运行一些代码?

想象一下,我希望在特定测试之前和之后执行一些环境设置代码,但不是在所有测试中。

我试图定义一个函数来为我做这件事,并在我的测试开始和结束时调用该函数。它工作正常,但如果测试失败,我最后调用的函数不会被调用(因为测试失败)。

有没有办法限制 beforeAndAfter 特性只在特定测试中执行?

谢谢。

【问题讨论】:

    标签: scala scalatest


    【解决方案1】:

    你可以这样做(或这个的变体):

    def beforeAfter[T](before: =>Unit, after: =>Unit)(t: =>T) = {
      before
      try t
      finally after
    }
    

    然后

    beforeAfter(before = action1, after = action2) {
      test
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-30
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      相关资源
      最近更新 更多