我正在使用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
是否正常?
非常感谢。
答案 0 :(得分:0)
由于您使用模拟,最简单的方法是为每个示例创建一个。像这样,所有示例都是独立的,可以同时执行。