![]() |
1
5
听起来你可能过分强调了自己的期望。 尝试在测试中构建尽可能少的设置代码:stub(而不是expect)所有与当前测试无关的行为,并且只指定使测试工作所必需的返回值。 This answer 包括一个简明的例子(以及另一个更详细的解释)。 |
![]() |
2
4
我的经验是只在(子)系统的边界使用mock。如果我有两个密切相关的类,我不会模仿它们,而是一起测试它们。一个例子可能是一个复合和一个访问者。如果我测试了一个具体的访问者,我就不会对合成使用mock,而是创建真正的合成。有人可能会说这不是单元测试(取决于什么是单元的定义)。但这并不重要。我想要达到的是:
测试行为而不是状态一开始看起来很好,但一般来说,我会测试状态,因为生成的测试很容易维护。嘲弄是一门大炮。不要用大锤敲螺母。 |
![]() |
3
3
如果您是因为测试中断而修复测试,那么您就没有按预期使用它们。
|
![]() |
4
0
要求 方法,而不是实现。有时这可能意味着使用一个模拟对象,因为交互是必需的,但通常最好测试方法的返回值或对象状态的变化。 |
![]() |
Phil Gunning · 使用嵌套函数更改进行模拟测试 3 年前 |
![]() |
Korr · 如何用Jest模拟组件测试中服务的功能 3 年前 |
![]() |
Jordan Lee · 在另一个类中使用实例方法作为装饰器 7 年前 |
![]() |
user2350138 · 为WireMock构建Java项目 7 年前 |
|
user8584384 · 单元测试不起作用,因为导入的文件作为输入 7 年前 |
![]() |
Vino · 如何模拟Python类的对象? 7 年前 |
![]() |
Enrico · .NET核心ASP。带有会话和测试的NET控制器 7 年前 |