- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想在我的服务器端 javascript 中测试某个函数是否以某种方式被调用。我正在使用 Sinon 模拟和 stub 。 Sinon 有 withArgs() 方法,用于检查函数是否使用特定参数调用。如果我将一个大型复杂回调函数作为参数之一传递,是否可以使用 withArgs() 方法?
var foo = function(){ method: function () {}};
// use: foo.method(function(){ console.log('something') } );
var spy = sinon.spy(foo, 'method');
spy.withArgs( ??? );
最佳答案
您的示例有点令人困惑,因为您已将 foo
定义为一个函数,但后面的注释调用了 foo.method()
:
var foo = function(){ method: function () {}};
// use: foo.method(function(){ console.log('something') } );
无论如何,“大型复杂回调函数”只是一个对象。 withArgs
返回一个由给定参数过滤的 spy 对象,您可以使用一个函数作为该过滤器的一部分。例如:
var arg1 = function () { /* large, complex function here :) */ };
var arg2 = function() {};
var foo = {
method: function () {}
};
var spy = sinon.spy(foo, 'method');
foo.method(arg1);
foo.method(arg2);
console.assert(spy.calledTwice); // passes
console.assert(spy.withArgs(arg1).calledOnce); // passes
console.assert(spy.withArgs(arg1).calledWith(arg1)); // passes
console.assert(spy.withArgs(arg1).calledWith(arg2)); // fails, as expected
关于javascript - sinon.js withArgs 回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23417184/
我正在尝试理解 smalltalk 中的方法“withArgs: executeMethod:”,吱。 1。我试图了解该方法的作用是什么?2. 需要传递什么参数才能执行? 最佳答案 理解此方法的一个好
我有一个正在 stub 的函数,该函数使用多个参数进行调用。我想检查仅第一个参数。其余的都是回调函数,所以我不想管它们。因此,我可能有以下 2 个调用,以 ajax 为例: method.get =
我的生产代码如下所示: exports.convertWord = number => { /* some logic here */ } exports.methodUnderTest = () =
我想在我的服务器端 javascript 中测试某个函数是否以某种方式被调用。我正在使用 Sinon 模拟和 stub 。 Sinon 有 withArgs() 方法,用于检查函数是否使用特定参数调用
我使用 go-sqlmock ( https://godoc.org/github.com/DATA-DOG/go-sqlmock ) 来测试接收可变数量参数的函数(为了简单起见,我简化了函数并删除了
我正在尝试使用 WithArg在一些测试代码中。我尝试编译的代码如下所示: using ::testing::_; using ::testing::Invoke; using ::testing::
当我为 sinon spy 或 stub 指定 withArgs 时,我希望 callCount 只计算带有这些参数的调用。不过,这似乎并没有发生。 如果我运行以下命令: var mySpy = si
我正在尝试创建一个单元测试来测试我的代码创建的对象是否已成功发送到更新函数(当前不测试更新函数,因为这将是集成测试)。 我想做的是使用 sinon 模拟来检查更新方法的输入是否正确: var obje
我是 js 单元测试的新手,对使用 withArgs 进行 stub 有疑问。 我有一些名为“create”的通用外部函数,我只想为某种参数和原始“create”的其他返回值 stub 它。例如: s
我有一个模拟函数: MOCK_METHOD4(my_func, int(double, double, void* (*cb) (int), int p1)); 我想以第三个参数作为参数调用上述函数的
我是一名优秀的程序员,十分优秀!