Tag: 嘲笑

如何在Node.js中模拟MySQL(没有ORM)?

我使用felixge的node-mysql客户端来使用Node.js。 我没有使用ORM。 我正在testing誓言,并希望能够嘲笑我的数据库,可能使用Sinon。 由于我本身并没有真正的DAL(除了node-mysql ),我不太确定如何去做这件事。 我的模型大多是简单的CRUD,有很多getter。 任何想法如何做到这一点?

嘲笑在Android中效果最好的库/框架?

我正在使用第三方库(Twitter4j)开发Android应用程序。 我希望能够在JUnit和functiontesting中模拟这些对象(也是我创build的对象)。 你有什么好的经验,使用一些嘲笑图书馆,你可以推荐他们?

茉莉花模拟窗口对象

我如何模拟窗口对象? 我正在做Firefox的扩展,我想用茉莉花的JavaScripttesting。 在我的JavaScript我有 function submit() { … var url = window.arguments[0]; … } 很明显,我必须在茉莉花模拟window.arguments [0],因为如果不从window.openDialog传递任何参数,该对象不存在 这是我试图嘲笑它与“与” it("should submit to server", function() { var localContext = { "window": { arguments: ["http://localhost"] } } with(localContext); it("should submit to server", function() { var localContext = { "window": { arguments: ["http://localhost"] } } with(localContext); 但是我仍然得到这个错误TypeError:不能读取未定义的属性'0',就像当testing运行时window.arguments [0]被真正的窗口消灭,因为如果我 window.arguments[0] 在testing中,它正确地打印出“http:// localhost”。 […]

在Java中嘲笑静态块

我对Java的座右铭是“仅仅因为Java有静态块,并不意味着你应该使用它们”。 除了笑话之外,Java中有很多技巧使得testing成为一场噩梦。 我最讨厌的两个是匿名类和静态块。 我们有很多使用静态块的遗留代码,这些都是我们在编写unit testing时的烦人之处。 我们的目标是能够编写unit testing的类,依赖于这个静态初始化与最小的代码更改。 到目前为止,我的同事的build议是将静态块的主体移动到一个私有的静态方法,并将其staticInit 。 这个方法可以在静态块中被调用。 对于unit testing,依赖于这个类的另一个类可以很容易地使用JMockit来嘲弄staticInit而不做任何事情。 我们来看看这个例子。 public class ClassWithStaticInit { static { System.out.println("static initializer."); } } 将被改为 public class ClassWithStaticInit { static { staticInit(); } private static void staticInit() { System.out.println("static initialized."); } } 所以我们可以在JUnit中进行以下操作。 public class DependentClassTest { public static class MockClassWithStaticInit { public static void staticInit() […]

我应该练习“模拟”还是“经典”TDD?

我读过(并重读)Martin Fowler的Mocks不是存根(stub) 。 其中,他定义了两种不同的TDD方法:“古典”和“Mockist” 。 他试图回答这个问题:“ 我应该成为一个古典主义者还是嘲笑者? ”,但是他承认,他从来没有尝试过“嘲笑TDD”的玩具。 所以我想我会在这里问这个问题。 自Fowler上次在2007年1月更新文章以来,好的答案可能会重复Fowler的论点(但希望更清楚)或者添加他没有想到的或其他人提出的论点。

如何在Spring上下文中注入模拟

我有一个使用一些Spring上下文的testing。 在这些情况下,宣布了一些bean。 我希望testing使用上下文bean的实际实现,除了其中之一,我想要使用MOCK。 我试图使testingconfiguration组件(使用@Configuration注释),但XML似乎优先于@Bean注释,所以它不起作用,这样: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"context1.xml", "context2.xml", …}) @Configuration public class MyTest{ @Inject private MyTargetBean target; private AnotherBean myMock = mock(AnotherBean.class); @Bean public AnotherBean myMock() { return myMock; } ….. 我知道我可以在XML中定义Mocks,但为此我需要为每个testing添加一个额外的XML文件。 我想避免这种复杂性。 有没有办法在一个上下文中注入一个bean(像一个模拟),而不是通过XML? 谢谢!

在成熟的项目中引入testing驱动开发(TDD)是否可行?

假设我们已经意识到TDD的价值太晚了。 项目已经成熟,很多客户开始使用它。 说使用自动化testing主要是function/系统testing,并且有很多自动GUItesting。 假设我们有新的function请求和新的错误报告(!)。 所以很多发展仍然在继续。 请注意,已经有很多没有或很lessunit testing的业务对象。 他们之间太多的协作/关系,只能通过更高层次的function/系统testing来进行testing。 没有集成testing本身。 大型数据库有大量的表格,视图等等。只是为了实例化一个单一的业务对象,已经有很多的数据库往返。 我们现在怎么介绍TDD呢? 嘲笑似乎是要走的路。 但是我们在这里需要做的嘲弄的数量似乎太多了。 听起来像精心devise的基础设施需要为现有的工具(BO,数据库等)工作的嘲笑系统开发。 这是否意味着只有从头开始时,TDD才是一种合适的方法? 我有兴趣了解在已经成熟的产品中引入TDD的可行策略。

你最喜欢的Delphi嘲笑库是什么?

我想开始在我的Delphi项目上使用模拟对象。 快速谷歌后,我已经find了那些: delphi模拟向导 PascalMock 所以我的问题是你最喜欢的是什么?为什么?

我如何validationRSpec中的退出和中止?

我正在尝试规范我的脚本收到的命令行参数的行为,以确保所有的validation通过。 我的一些命令行参数会导致abort或exit被调用,因为提供的参数丢失或不正确。 我正在尝试这样的不工作: # something_spec.rb require 'something' describe Something do before do Kernel.stub!(:exit) end it "should exit cleanly when -h is used" do s = Something.new Kernel.should_receive(:exit) s.process_arguments(["-h"]) end end exit方法是干净地射击防止RSpecvalidationtesting(我得到“SystemExit:退出”)。 我也试图mock(Kernel)但也没有工作,因为我想(我没有看到任何可辨别的差异,但这可能是因为我不知道如何嘲笑内核,并确保嘲笑的内核在我的Something类中使用)。

RhinoMocks – 存根返回参数的方法

我正在使用RhinoMocks,我需要存根方法,总是让它返回第三个参数,不pipe传入的是什么: _service.Stub(x => x.Method(parm1, parm2, parm3)).Return(parm3); 显然,这并不容易。 我并不总是知道自己会做什么,但我知道我总是想要回到第三名。