1

是否有专门用于从单元测试中的模拟方法返回的对象的术语?

需要一个创建来断言的对象。你实际得到的是实际的。你输入的东西是input

您如何称呼您正在制作的对象然后传递给.andReturn(someObject)您选择的模拟框架中的调用?我发现如果没有此类对象的命名约定,它会使数据密集型测试更难理解。

4

3 回答 3

1

我称它们为“罐头答案”,但这不仅限于对象,它们可以是原始类型。

于 2013-07-31T11:59:01.267 回答
0

我认为'模拟对象'或'假'是你所要求的?

于 2013-07-30T16:21:41.727 回答
0

Gerard Meszaros 的书“xUnit 测试模式:重构测试代码”将专门用于单元测试的对象统称为“测试替身”。他确定了几种常用的双打:

  • 测试存根
    • 返回预期结果,和/或调用预期方法。用于强制生产代码沿所需路径运行。
  • 测试间谍
    • 观察调用代码,记录调用的内容以供以后验证。返回强制生产代码沿着所需路径的值。
  • 测试模拟
    • 用一组期望以某种方式调用它的期望进行初始化,然后观察所做的调用并在失败的情况下抛出异常。返回强制生产代码沿着所需路径的值。
  • 假对象
    • 真实对象的简化版本。主要用途是代替尚未构建的依赖组件。通常用于替换数据库或服务。
  • 虚拟对象
    • 满足对测试不重要的方法签名要求的非常简单的对象。空对象或空字符串是常见的假人。

在您的情况下,这些将被视为虚拟对象。它们只能由您的逻辑返回,但它们的内容对测试无关紧要。

于 2013-07-30T19:30:27.447 回答