问题标签 [stubs]

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 投票
1 回答
907 浏览

ruby-on-rails - 带参数的 Stub Active Record 计数

我正在努力弄清楚如何存根以下内容:

我试图存根 Post... 部分,而不是方法。到目前为止,我已经尝试了以下和类似的变体。全部返回 0 或 1。

任何建议将不胜感激,谢谢。

0 投票
1 回答
193 浏览

java - 带有客户端异常的简单 RMI 应用程序

我使用 Java 8 并创建了一个简单的 RMI 应用程序,但我有一个我不理解的客户端异常。使用 Eclipse,我的应用程序的结构是:

这是代码:

接口MyClassServer.java

实现azioneMyClassServer.java

MainServer.java

主客户端.java

我不想动态下载存根类。这就是为什么我得到类存根和 skel,然后我将存根类复制到 bin\client 中。为了获得 stub 和 skel 类,我遵循了以下过程:

要运行整个应用程序,我遵循以下过程:

通过提示1:

我得到了正确的:

通过提示2:

我得到异常的地方:

例外是 MainClient 中的第 18 行,但我不明白出了什么问题。

0 投票
2 回答
1190 浏览

c# - 何时使用 Mock v. Stub,或两者都不使用?

我一直在阅读 Mocks 和 Stubs,它们的区别和用途。我仍然有点困惑,但我想我已经掌握了它的要点。

现在我想知道应用程序。我可以看到在测试场景中创建“假”对象的用途,在这些场景中,实际对象太复杂而无法测试某个方面。

但是让我们考虑一下我的应用程序:我正在研究一个计算几何库。我们的库定义了点、线、线段、向量、多边形和多面体,以及一堆其他对象和所有常见的几何操作。任何给定的对象都存储为点或方向的列表,或较低级别的对象。但是这些对象的生成时间都不超过几毫秒。

当我测试这个库时,在任何地方使用 Mocks/Stubs 有意义吗?

现在我们只使用特定的测试用例。我们称它们为存根,但我认为它们不符合存根的技术定义。你认为更好的词汇是什么?“测试用例”?“例子”?

源代码:https ://bitbucket.org/Clearspan/geometry-class-library/src

编辑:请注意,我们正在努力在所有几何对象中实现不变性,因此仅测试操作结果才有意义,而不是初始对象的状态更改。

0 投票
1 回答
1729 浏览

android - 存根、模拟“模拟”类和 Robolectric“影子”对象之间的区别

这些显然是相关的并且有一些相似之处,但我不确定是什么让它们与众不同。在 robolectric 文档中,强调Shadow Classes 不是 Mock 或 Stub 类。这些有何不同,如何使用?

注意:我认为在这种情况下,一个实际的示例(“您将使用模拟类来测试某某,由于某某而您无法使用影子类进行测试”)不仅仅是一个概述将特别有用和说明性。

0 投票
0 回答
30 浏览

ruby-on-rails - 如何在 ruby​​ on rails 中使用存根和模拟调用 post 方法

我对 rspec 中的这种模拟和存根不熟悉。实际上在我的控制器中,我有一个动作方法邀请。我想在我的控制器中模拟/存根这个邀请方法......下面是我的代码:

patient_enrollment 是邀请操作(通过 Post 方法)接受的参数,我希望它返回 return_enrollment ...

0 投票
2 回答
989 浏览

java - 在基本 Java maven 项目中使用存根

我有一个具有文件夹结构的基本 maven 项目:-main 和 -test 目录。

我在主源目录中有一个包,它由几个类组成,比如 a.class b.class 和 c.class,它们都在同一个包下。所有类都相互依赖。为了进行适当的单元测试,并切断每个类的依赖关系,我编写了每个 a、b 和 c 类的存根类,将它们定义为具有相同的包并将它们放在测试源目录中。然后我运行: mvn test

好的,现在首先从类路径中找到存根并使用,但我想修改类路径(即时?),以便在测试 a 类时,我需要将原始 a.class 和存根用于 b .class 和 c.class。同样,在测试 b 类时,我需要将原始 b 类和用于 a.class 和 c.class 的存根。

如何使用 Maven 和 JUnit 完成此任务?

这在 Java 中有点令人沮丧,因为在 C++ 中,可以使用单元测试头文件中的 makefile 源路径和用户定义的包含路径来强制首先找到存根,然后显式将包含添加到要测试的原始类.

0 投票
1 回答
1110 浏览

java - 无法在客户端中导入 Web 服务存根

我正在尝试了解 jax-ws 并创建了一个简单的自下而上 HelloWorld 网络服务来训练自己:

当我部署这个网络服务时,我可以访问 wsdl,所以这似乎工作正常。然后我尝试生成一个 web 服务客户端。为此,我需要创建存根,我尝试使用 maven 插件 jaxws-maven-plugin 创建它。这是我的 pom.xml:

Build with maven 将生成以下输出和带有生成的 .java 文件的 .jar 文件:

编辑(为了精确):当我尝试在另一个项目中使用存根存档来创建 web 客户端时,(我使用 intellij idea 执行此操作),idea 会自动从我的 maven 存储库中找到该文件并建议给我,生成以下依赖项:

但是,实际上没有一个生成的 .java 文件可以在代码中导入和使用!例如,想法在使用或导入时失败

带有错误消息“无法解析符号'HelloWorld'”我做错了什么?这是否与我的存根仅包含 .java 文件但没有 .class 文件的事实有关?显然,插件 jaxws-maven-plugin 使用 -xnocompile 标志运行 wsimport,但我无法弄清楚如何配置 maven 不这样做,没有任何选项保留,destDir 或 sourceDestDir 对此有任何影响!还是这完全无关紧要,因为导入存根的项目应该能够自己编译它们,而问题出在其他地方?任何帮助将不胜感激!

0 投票
1 回答
75 浏览

unit-testing - 使用单个假作为模拟和存根

我对单元测试非常熟悉,并且理解模拟和存根之间的区别。Roy Osherove 给出的最简单的解释是,所有的假货一开始都是存根,直到你反对它们,然后它们就是模拟物。

再一次,我明白了。我的问题是“使用单个假实例作为模拟和存根是错误的吗?以 Rhino Mocks 文档中的以下示例 ( http://ayende.com/wiki/Rhino+Mocks+3.5.ashx )

您会注意到 mockUserRepository 以 mock 一词命名并调用 GenerateMock 工厂,因为在代码的更下方,mockUserRepository 为其建立了行为预期,最终对行为的预期得到验证。很好,但在此过程中,mockUserRepository 正在调用它的 Stub() 方法来“可以”通过对同一对象的 GetUserByName() 调用返回的数据。

显然,这个例子展示了使用显式命名和声明的模拟作为模拟和存根。回到 Roy Osherove 的定义,即所有假货都是存根,直到你反对它们,我被迫相信使用假货作为模拟和存根(虽然肯定有效)是不好的做法。

有谁知道这样做是否有判决?

0 投票
1 回答
970 浏览

android - stub_image showing on universal image loader in recyclerview

I have implement universal image loader for showing images in recyclerview. it showing stub_image. Code contain One fragment and its adapter, its working properly before i added universal-image-loader.

Here is the code:

Fragment.Class

RecyclerViewAdapter.class

0 投票
0 回答
791 浏览

ruby-on-rails - Rspec 存根应用程序控制器方法

我在我的rails应用程序(4.2,ruby 2.2.1)中使用omniauth,我在这里定义了这个控制器:

在我看来,这些方法没有问题,但我的规范测试一直失败。我读到应用程序控制器的方法在测试中不可用,然后我试图让它们成为存根。

失败测试示例:

和错误:

以及视图中的方法:

笔记:

  • 有或没有存根,结果是一样的
  • 测试似乎没有抱怨 current_user 方法,但我不知道是不是因为他们在找到 login_in 时失败了?方法
  • 我已经在这里检查了其他一些问题,但没有一个对我有帮助。
  • 这种存根的方式也没有帮助我:

    允许(控制器)。接收(:logged_in?)。and_return(假)