问题标签 [stub]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
5824 浏览

unit-testing - Amazon S3 独立存根服务器

我似乎记得读过有关 Amazon S3 兼容测试服务器的文章,您可以在自己的服务器上运行它以进行单元测试或其他任何事情。然而,我已经用尽了我的耐心在谷歌和 AWS 上寻找这个。这样的事情存在吗?如果没有,我想我会写一个。

注意:我问的是 Amazon S3(存储系统)而不是 Amazon EC2(云计算)。

0 投票
6 回答
1357 浏览

unit-testing - 条件编译是单元测试的有效模拟/存根策略吗?

在最近关于存根的问题中,许多答案建议使用 C# 接口或委托来实现存根,但一个答案建议使用条件编译,在生产代码中保留静态绑定。这个答案在阅读时被修改为 -2,所以至少有 2 人真的认为这是一个错误的答案。原因可能是误用 DEBUG,或者可能是使用固定值而不是更广泛的验证。但我不禁想知道:

使用条件编译是实现单元测试存根的一种不合适的技术吗?有时?总是?

谢谢。

编辑添加: 我想添加一个示例作为实验:

比较

这允许通过 C# 接口对“DateTime.Now”的传出依赖项进行存根。但是,我们现在添加了一个动态调度调用,其中静态就足够了,即使在生产版本中对象也更大,并且我们为 Foo 的构造函数添加了一个新的失败路径(分配可能会失败)。

我在这里什么都不担心吗?感谢您迄今为止的反馈!

0 投票
9 回答
4830 浏览

c++ - 解析 C++ 以生成单元测试存根

我最近一直在尝试为一些遗留代码创建单元测试。

我一直在采用使用链接器的方法来向我展示哪些函数会导致链接错误,查找源代码以查找定义并从中创建存根。

有没有更简单的方法?是否有某种 C++ 解析器可以以某种易于使用的形式为我提供类定义,我可以从中生成存根?

0 投票
11 回答
30760 浏览

ruby - rspec:如何存根构造函数调用的实例方法?

do_something在调用原始实现之前,如何在 rspec 中存根(因此将 42 分配给@x)?当然,在不改变实现的情况下。

0 投票
1 回答
1559 浏览

rhino-mocks - 是否可以使用 Rhino Mocks 生成部分存根?

我通常是单元测试和模拟的新手,并且正在尝试为我的一个类设置测试,我想确保从同一个类中的另一个方法调用特定方法。因此,我想使用具体的实现,但要模拟它的一部分。这可能吗?

因此,我试图设置一个将调用 GetAccounts() 的存根(我想使用具体的实现),但我想检查该方法是否调用 GetAccounts(null)。

问题是具体类在 CallOriginalMethod() 行上被调用,当我调用 stub.GetAccounts() 时,我希望在重放期间调用该行。因此,无论是在录制期间还是在我执行测试时,当我只是想模拟它们时都会调用实现的具体方法——正如我已经解释的那样。这是我的误解吗?我应该不能模拟/存根具体类和接口吗?

我是否需要将 virtual 关键字添加到我希望能够模拟的方法中?

这甚至可能吗?我该怎么做?

0 投票
2 回答
2195 浏览

c++ - 自动生成函数存根

是否有任何 Visual Studio 附加组件(或 windows/unix 独立程序)在 cpp 文件中为头文件中定义的函数(包括类成员函数)创建存根实现?

0 投票
6 回答
73763 浏览

unit-testing - 什么是“存根”?

所以,继续我的新年决心以更多地参与 TDD,我现在开始更多地使用Rhino Mocks工作。

我热衷于做的一件事是确保我真正了解我正在进入的内容,所以我想检查我对到目前为止所看到的内容的理解(我认为将它作为资源放在这里会很好)。

什么是“存根”?

0 投票
5 回答
477 浏览

.net - 创建存根的首选工具是什么?

继我的上一个问题“什么是“存根”之后,我真的很想今晚坐下来,更多地尝试创建存根对象。

创建存根对象的首选工具是什么?

并获得奖励积分:)

您还可以链接到任何好的教程以开始使用它们吗?

非常感谢男孩和女孩,感谢:)

仅供参考 - 我正在使用 .NET(2.0 @ Work,3.5 @ Home)

0 投票
7 回答
2362 浏览

c# - TDD:存根、模拟或以上都不是

我正在尝试通过将 TDD 应用于我的一个简单项目来学习它。一些细节(和更早的问题)在这里:

TDD:帮助编写可测试类

具体是我有一个 PurchaseOrderCollection 类,它有一个私有的 PurchaseOrders 列表(在构造函数中传递),并且 PurchaseOrders 有一个布尔属性 IsValid。PurchaseOrderCollection 有一个属性 HasErrors,如果列表中的任何 PurchaseOrders 的 IsValid 为 false,则该属性返回 true。这是我要测试的逻辑。

这与我之前的问题类似,因为该测试过于耦合,因为我必须知道使 PurchaseOrder IsValid 为假或真以通过测试的逻辑,而实际上该测试不应该关心。问题是不同的(imo),因为类本身不是问题。

本质上,我希望能够声明一个 IsValid 为 false 或 true 的 PurchaseOrder,而不需要更多地了解 PurchaseOrder 是什么。

根据我有限的 TDD 知识,这是您使用 Stubs 或 Mocks 的目的。我的主要问题,这是正确的吗?或者我应该为此使用不同的方法吗?还是我完全有缺陷,只是在写这个测试并认为它是错误的?

我最初的想法是只使用某种模拟框架并创建一个始终返回 true 或 false 的 PurchaseOrder。从我读过的内容来看,我需要声明 IsValid 虚拟。所以我的第二个想法是更改它以添加 IPurchaseOrder 作为 PurchaseOrder 的接口,并创建一个始终返回 false 或 true 的假 PurchaseOrder。这两个都是有效的想法吗?

谢谢!

0 投票
1 回答
1714 浏览

c# - 生成 C# 委托方法存根

有人知道如何自动创建委托存根方法吗?

在 WPF 中,我似乎经常不得不传递代表。我希望能够键入一个不存在的方法名称并自动生成一个方法存根……目前我不得不不断地引用文档来获取委托签名,然后手动创建具有匹配签名的方法。