gpt4 book ai didi

javascript - 使用 ScrewUnit 模拟 javascript 方法

转载 作者:行者123 更新时间:2023-11-30 13:41:41 25 4
gpt4 key购买 nike

我有一个简单的验证方法如下

function someMethod {
//some processing
}

我想对这个方法进行单元测试。我可以 mock 它的最简单方法是什么。通常如果我有一个对象如下:

var someObject = function() {
reload : function() {
//reload logic here
}
}

我可以 stub someObject 然后检查是否 mock(someObject).should_receive("reload").exactly('once')

或类似的东西。但是从这个时候我就有了一个方法。我该如何 mock 它?

最佳答案

模拟非面向对象的代码很困难。 Misko Hevery 在这里写道:http://misko.hevery.com/2008/12/15/static-methods-are-death-to-testability .困境是缺少可以将模拟内容注入(inject)计算的“钩子(Hook)”。

你可以得到实际的实现。该方法驻留在一个对象中。该方法将简单地委托(delegate)给该对象。因此,为了测试方法,您只需要测试对象(合理假设您获得了正确的委托(delegate)代码)。

关于javascript - 使用 ScrewUnit 模拟 javascript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1973963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com