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

c# - 使用反射存根懒惰地初始化委托字段

问题:

  • 一个 .Net 2.0 类,由代码生成器生成数千个委托字段

    1. 不同的签名
    2. 代表可能会也可能不会返回值
    3. 没有泛型
  • 这些委托可以在运行时快速初始化

    1. 初始化委托很简单但代价高昂
    2. 现在初始化整个批次的成本约为 300 毫秒 - 可以接受,但并不完美
    3. 用户可能会使用不到 10% 的这些委托——如果我们可以只加载这些委托会快得多(不要为不使用的东西付费)

问题:

是否可以使用反射来懒惰地初始化委托字段?在伪代码中:

我有一种感觉,可以创建一个执行 (a)、(b) 和 (c) 的存根,但我还没有设法预测如何

理想情况下,代码应该运行 .Net 2.0 和 Mono 2.0,并且不应该使用System.Reflection.Emit。不过,我也对使用 .Net 3.5 或 DynamicMethod 的解决方案感兴趣。

有任何想法吗?:)

0 投票
2 回答
157 浏览

asp.net - 更改存根代码后面的初始 Visual Studio 代码?

当我向 ASP.NET 项目 (WebForms) 添加新表单时,然后“查看代码”会添加一些基本的存根代码——基本的“使用”语句、form_load 事件等。

所以我要做的第一件事是添加一些项目使用等。无论如何,有没有将这个罐头代码更改为我想要的,而不是默认设置的?

模板会是答案吗?

TIA 凯文

0 投票
3 回答
1401 浏览

ruby - 在没有 Fakeweb 的 Rails 测试中伪造 Web 请求

我在 Rails 应用程序中使用 Handsoap gem 和 Httpclient gem 作为驱动程序。

如何在测试用例中防止来自 Handsaop/Httpclient gems 的网络调用?

FakeWeb 不支持 Httpclient。

0 投票
1 回答
187 浏览

.net - 如何为 MEF 组件提供 API 存根?

Visual Studio 2010 SDK 附带许多程序集,例如 Microsoft.VisualStudio.Text.Data 和 Microsoft.VisualStudio.Text.UI,它们只是存根。若要为 Visual Studio 编写扩展,请引用这些程序集,但将引用的“复制本地”和“精确版本”属性设置为 false。在 Visual Studio 中加载扩展时,引用将绑定到 Visual Studio 先前加载的这些程序集的内部实现。

我想提供一个新的 MEF 导出组件,它充当其他 MEF 包可以的 Visual Studio 服务[Import]。要使用该服务,其他组件将需要引用我的包 - 但我更喜欢它们引用一个存根,这样我就可以对我的服务的内部实现进行更改,而不会破坏引用它的其他包。如何提供一个“存根”程序集,其中包含来自某个任意程序集的公开可见的 API 组件,这样如果您引用存根,它将在运行时与提供的实现无缝协作?

0 投票
2 回答
9175 浏览

java - 使用 java 和 axis2 对 Web 服务的多线程请求时出现“超时”

我正在使用一个缓慢的网络服务(每个请求大约 4 分钟),我需要在两个小时内完成大约 100 个请求,所以我决定使用多个线程。问题是我只能有 2 个线程,因为存根拒绝所有其他线程。在这里,我找到了解释和可能的解决方案:

我有同样的问题。它的来源似乎是 MultiThreadedHttpConnectionManager 中的 defaultMaxConnectionsPerHost 值等于 2。我的解决方法是创建自己的 MultiThreadedHttpConnectionManager 实例并在服务存根中使用它,如下例所示

我已经按照作者所说的做了,并将 HttpClient 传递给具有更高setMaxTotalConnectionssetDefaultMaxConnectionsPerHost值的存根,但问题是现在应用程序冻结了(好吧,它并没有真正冻结,但它什么也不做)。

那是我的代码:

然后我将该存根和请求传递给每个线程并运行它们。如果我不设置 HttpClient 并使用默认值,则只有两个线程执行,如果我设置它,应用程序将无法运行。任何想法?

0 投票
5 回答
15472 浏览

c# - 存根类的一种方法,并让其他真实方法使用这个存根方法

我有一TimeMachine门课,它为我提供了当前的日期/时间值。该类如下所示:

我想TimeMachine在我的测试中以这样的方式使用存根,即我只存根该GetCurrentDateTime方法并让其他两种方法使用存根GetCurrentDateTime方法,这样我就不必存根所有三种方法。我试着写这样的测试:

但是测试失败了。GetCurrentDate返回default(DateTime)而不是在内部使用GetCurrentDateTime存根。

有什么方法可以用来实现这种行为,或者它只是我目前没有掌握的 RhinoMocks 的一些基本概念特征?我知道我可以摆脱这两个GetDate/Time方法并内联.Date/.TimeOfDay用法,但我想了解这是否可能。

0 投票
1 回答
980 浏览

ruby-on-rails - mocha 是否在存根(Rails)中运行代码?

我是 tdd 和存根的新手。当我存根一个方法时,我假设该方法中的任何代码都不会被执行?我试图伪造引发异常的方法,但我的测试结果表明该方法中的代码正在执行而不是被绕过。

谁能帮忙解释为什么?

我的存根是

在上下文中

这是我试图存根的模型中的方法。Spreedly::Subscriber 通常从网络上获取内容。

-

并且测试错误是

0 投票
1 回答
3520 浏览

axis - Axis wsdl2java 未在存根中生成所有接口

我正在尝试使用 wsdl2java.bat 生成存根,我的 wsdl 包含两个绑定。我看到 wsdl2bat 为第一个绑定中的操作创建接口,但没有为第二个绑定中的操作生成任何内容。wsdl2java.bat -uri http://... -o 客户端 -d adb -s -u.

例如代码应该是这样的

这里的问题是,我确实在存根的 resDoc 实例中看到了 getEchoStringReturn 方法。

0 投票
2 回答
2380 浏览

java - 用于 Web 服务生成的客户端存根:使用什么库?

从 WSDL 文件生成客户端存根的首选方法是什么?我尝试了一个 Axis2 插件,它完成了这项工作。eclipse 的 WTP 也可以生成客户端存根吗?什么是更好的解决方案?

你能解释一下为什么你推荐这样或那样的方式吗?

ps Apache CXF 是否有用于可视化生成客户端存根的 Eclipse 插件?

0 投票
2 回答
1047 浏览

unit-testing - 单元测试 - 如何在存根数据库数据时设置测试数据

在我们的单元测试中,我有一个存根对象,它在内存中创建一组数据,以便在单元测试期间使用,以便不使用实时数据库。

我有单元测试,使用被测查询和提供给测试查询的值检查从该集合返回的行数。我的第一个问题是,因为我们使用的是 MSTest 并且它不支持参数化测试,所以我们对每组不同的值都有一个测试,并且最终进行了许多测试,只是提供给一个例程的值不同。使用不同的测试框架在政治上可能很困难。

使用数据也有点笨拙,因为它是通过代码将实体添加到集合中创建的,因此很难轻松查看集合中的数据,如果我们决定将来向该集合添加记录,我们需要更新应该在测试中返回的记录数,以便我们的测试非常依赖这些数据。似乎没有办法自动化这个。是这样吗?