1
3
我同意Mark使用显式设置而不是隐式设置。但是关于犀牛模型的使用,你试过下面的方法吗?你可以把一个模拟放在回放模式临时和恢复录制以后。类似:
|
2
1
根据 xUnit Test Patterns ,你确实是在测试设计气味国家:) 问题是一种称为通用fixture的测试气味,这意味着在许多不同的测试中,运行时环境总是以相同的方式配置的。 重要的是要认识到,当涉及到XUnit测试模式时, 固定装置 意思和努尼特不同。它不是一个测试类,而是包含 在运行测试系统(SUT)之前,必须在测试用例中作为前提条件的所有内容 . 使用设置方法(如beforeeachtest方法)来设置夹具是很常见的,但还有其他方法,我稍后将回到这里。 通用夹具的问题是,您试图用相同夹具覆盖过多的具有稍微不同前提的特定测试用例。这是您现在观察测试之间这种相互依赖性的一个根本原因。 为了使问题复杂化,努尼特的特殊之处在于它可以重复使用 相同的 跨多个测试用例的特定测试类的实例,这样状态就可以从一个测试保持到另一个测试。所有其他XUnit框架都为每个测试用例创建一个新的测试类实例,这样这种类型的问题就不那么常见了。 这使我回到了在设置方法中设置fixture的替代方法(即 隐式设置 ):编写一个方法或对象,封装夹具并将其创建为每个测试用例中的第一行代码。这也允许您通过参数化这个夹具设置代码,在不同的测试用例之间稍微改变夹具。 |
S4beR · jest-手表模式错误 7 年前 |
M.C · 如何从Ruby TDD哈希数组中返回名称 7 年前 |
Maverick94 · Python unitest不工作 7 年前 |
erexo · Moq模拟。Of<Obj>vs new Obj(); 7 年前 |
jpuriol · JUnit测试中的“单例” 7 年前 |
Py.Jordan · 如何在Python中模拟用户输入 7 年前 |