gpt4 book ai didi

javascript - 如何在 javascript 全局命名空间中 stub /模拟函数

转载 作者:可可西里 更新时间:2023-11-01 01:33:13 24 4
gpt4 key购买 nike

我正在尝试在测试期间 stub /模拟/覆盖函数调用,该函数调用将日志写入数据库。

function logit(msg) {
writeMessageToDb(msg);
}

function tryingToTestThisFunction(){
var error = processSomething();
if (error) {
logit(error);
}
}

我想要logit()在测试期间简单地打印到控制台...并在 isTesting() 中执行“logit()”if/else block 功能不是一个选项。

这是否可能不包括一些额外的模拟框架。我目前正在使用 JsTestDriver用于单元测试并且没有机会评估任何模拟框架。目前一个理想的解决方案是在没有其他框架的情况下处理这个问题。

最佳答案

我使用 Jasmine 和 Sinon.js(使用 Coffeescript),下面是我如何删除 confirm()例如,只返回 true 的方法。

beforeEach ->
@confirmStub = sinon.stub(window, 'confirm')
@confirmStub.returns(true)

afterEach ->
@confirmStub.restore()

关于javascript - 如何在 javascript 全局命名空间中 stub /模拟函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4486324/

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