gpt4 book ai didi

javascript - 如何在单元测试中测试在新缓冲区中创建的值

转载 作者:行者123 更新时间:2023-11-29 21:53:47 26 4
gpt4 key购买 nike

假设我们有一些代码可以执行此操作:

callFunction(new Buffer(foo));

我们想用 sinon.js spy 对这个调用进行单元测试:

var spy = sinon.spy(callFunction);
expect(spy.to.have.been.calledWith(foo));

这将失败,因为 callFunction 是用 new Buffer(foo) 而不是 foo 调用的。如果我们执行 expect(spy.to.have.been.calledWith(new Buffer(foo)) 测试就会通过,但是为每个测试继续创建新缓冲区是否明智?有没有更好的方法做这个?

最佳答案

那么像这样的东西怎么样(在 CoffeeScript 中):

bufferEqual = (expectation) -> 
sinon.match.instanceOf(Buffer)
.and(sinon.match (val) -> val.toString() == expectation)

或 JS 版本:

function bufferEqual(expectation) {
return sinon.match.instanceOf(Buffer).and(sinon.match(function(val) {
return val.toString() === expectation;
}));
};

关于javascript - 如何在单元测试中测试在新缓冲区中创建的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27570886/

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