【问题标题】:Specs2, sequential or notSpecs2,顺序与否
【发布时间】:2015-10-17 06:26:30
【问题描述】:

我正在使用 Scala 开始一个新项目。我想用 Specs2 测试我的组件。但是我刚刚浪费了半个小时来解决模拟验证问题。

我的规格如下:

Creating a page should 
  Verify that the name is not empty
  Verify that the name is unique
  Produce and store the page

我对我的存储库进行了模拟,以便我可以验证当先决条件失败时,该页面没有被存储:

there was no(pages).add(any[Page]) 

但是对于最后一句,我验证页面是否已存储。

there was one(pages).add(page)

但我的规范失败了,因为最后一个测试是在第二个测试之前进行的,因此 there was one(pages).add(...) 所以我必须添加 sequential 关键字。

我做错了吗?我可以为每个示例创建一个模拟,以便没有副作用。或者我可以在每个示例之前重置模拟吗?

或者在使用模拟测试时使用sequential 是否正常?

非常感谢。

【问题讨论】:

    标签: scala unit-testing specs2


    【解决方案1】:

    由于您使用的是模拟,因此最简单的做法是为每个示例创建一个。这样所有的例子都是独立的,可以并发执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-21
      • 1970-01-01
      相关资源
      最近更新 更多