【发布时间】: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