问题标签 [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 投票
2 回答
965 浏览

unit-testing - 如何在不受具体实施约束的情况下创建和使用部分存根(在 MoQ 中)?

我有使用 MoQ 创建部分存根的代码。我更喜欢与接口交互而不是具体实现,这样如果我有不同的接口实现,我就不必修改单元测试。

例如,我有一个工厂方法,例如:

下面是调用该方法的代码:

问题是这样做时 ISomeInterfaceStubFactory 不会编译。所以我将其更改为如下所示,但这样做似乎会破坏部分存根。实际实现的MethodToStubOutThatMethodToTestCalls操作被调用,而不是存根版本。基本上我正在尝试对存根对象使用多态性。有没有办法做到这一点?我希望我的单元测试不会与具体实现高度耦合。

0 投票
2 回答
15313 浏览

python - 如何在没有 Mock 的情况下存根 Python 方法

我是一名 C# 开发人员,正在研究一些 Python 的东西,所以我还不知道我在做什么。我读过你真的不需要使用 Python 进行依赖注入。有人告诉我,您可以在代码中实例化对象并让它们以您想要的方式运行,但是,您可以将这些对象上的方法指向我自己在测试中定义的存根——据说没有模拟。

这是真的?我已经尝试过,但无法让它正常工作。这实际上是如何完成的?如何在没有模拟库的情况下在 Python 中存根方法?

0 投票
3 回答
213 浏览

c - 这个 Ocaml 类型定义在其 C 存根中的外观如何?

我从http://www.ocaml-tutorial.org/data_types_and_matching获取了以下代码

我一直在尝试编写一个 C 存根,以便从我们的 PHP 代码库中调用。我不太明白我应该如何(以及是否)为以下 Ocaml 类型 expr 创建 typedef,以及如何从 C 存根访问函数 multiply_out?

我是 Ocaml 的新手,我们正在评估它,看看它是否对我们为我们的数学网络应用程序创建一个小语法有用。

任何建议都会有很大帮助!谢谢!

0 投票
4 回答
944 浏览

unit-testing - 为单元测试实现受保护的无参数构造函数

如果我有一个带有旧(很多参数)构造函数的类型,那么实现受保护的无参数构造函数是否是一种有效的方法,只是为了创建派生的“假”类型以用于单元测试中的存根?

另一种方法是提取接口,但这在您无法完全控制的代码库中并不总是可取的......

0 投票
4 回答
19037 浏览

c - 什么是存根例程?

关于 C 什么是存根例程?一个例子也将不胜感激。

0 投票
4 回答
9262 浏览

activerecord - 在 Rails 3 和 Rspec 中存根链式查询

我正在尝试测试我拥有的基于一系列其他范围的范围。(下面的“public_stream”)。

使用这样的测试:

但是,我继续收到此错误:

似乎 includes_values 是 ActiveRecord::Relation 对象的实例变量,但是当我尝试存根它时,我仍然收到相同的错误。我想知道是否有人对 Rails 3 的新链式查询有经验?我可以找到一堆关于 2.x 的 find hash 的讨论,但没有关于如何测试当前内容的内容。

0 投票
0 回答
209 浏览

ruby-on-rails - 黄瓜中的步骤定义

我有一个 Rails 应用程序,它有一个 Account 类,该类有一个或多个与之相关的用户;每个用户都有他们的登录凭据,但应用程序总是检查 current_account。

我正在尝试编写一个黄瓜功能,其中包括经典的“假设用户已登录...”,并且在 steps_definitions 文件中,我需要知道如何在创建用户对象之前表达 Account 类。

实际上,创建用户是没有问题的,当我>> click_button 'login'时就成了问题

所以...确保我有一个帐户的最佳方法是什么(顺便说一句,这需要订阅,这需要订阅计划和所有爵士乐在创建之前...

0 投票
1 回答
671 浏览

xml-serialization - RSpec & DataMapper:如何正确地存根 finder 方法

环境是 Sinatra、Nokogiri、RSpec、FactoryGirl 和 DataMapper。

问题在于 DataMapper 的序列化程序。我不知道如何适当地存根。

有问题的代码:

调用的代码get实际上等同于:

问题是结果集的类型是DataMapper::Collection哪个有#to_xml方法。

我的存根显然不起作用,因为我使用了一个Array存根实例,而不是一个DataMapper::Collection.

我的问题是:

我应该如何创建一个实例集合(使用 FactoryGirl),这些实例的类型DataMapper::Collection#to_xml方法由 DataMapper 的序列化程序提供?

代码也可以在 Github 上找到:

0 投票
3 回答
874 浏览

c# - 存根只读属性的行为

我想在 RhinoMocks 中为这个接口创建一个存根。我有一个只读属性,我想在每次调用 IncrementValue() 方法时增加他的值。这可能吗?我不想为此存根创建一个新类。

0 投票
1 回答
3365 浏览

ruby-on-rails - Rspec 新手:嵌套控制器测试的快速示例?

我刚刚开始使用 RSpec,并且在为嵌套资源编写控制器测试时遇到了一些困难。我试过用谷歌搜索这个,但没有太多运气。

有人可以提供一个“PUT 更新”测试测试的基本示例,以确保更新嵌套资源吗?只是为了详细说明,我有这样的等效(非嵌套)资源测试:

一段时间以来,我一直在尝试为嵌套在 Post 下的“评论”模型正确地存根类似的测试,但没有任何乐趣。任何建议表示赞赏。