使用 Sinon.js 存根 performance.now()
stub performance.now() using Sinon.js
我正在 Ember-qunit 中编写单元测试。我想在 performance.now.
上设置自定义值
我尝试了 sinon.stub(performance,'now', 60000);
但这没有用。我得到 TypeError: stub(obj, 'meth', fn) has been removed.
如何使用 sinon.js 存根 performance.now()?
谢谢
不确定你的第三个参数 (60000
) 应该是什么,因为我不熟悉 performance.now()
,但这不是对 Sinon.stub()
(there is no 3rd parameter).不过,根据文档,您应该能够捕获存根函数,然后对其调用一个方法来指示所需的 return 值:
const stub = sinon.stub(performance, 'now');
stub.returns(60000);
然后,当调用存根时,您应该得到:
console.log( stub() ); // 60000
您可以在 jsfiddle example 中看到此功能。
创建一个全局对象,如:
global.performance = {
now() {
return <returning_value>; // use Date.now() or any value
};
现在您可以访问performance.now()
我正在 Ember-qunit 中编写单元测试。我想在 performance.now.
上设置自定义值我尝试了 sinon.stub(performance,'now', 60000);
但这没有用。我得到 TypeError: stub(obj, 'meth', fn) has been removed.
如何使用 sinon.js 存根 performance.now()?
谢谢
不确定你的第三个参数 (60000
) 应该是什么,因为我不熟悉 performance.now()
,但这不是对 Sinon.stub()
(there is no 3rd parameter).不过,根据文档,您应该能够捕获存根函数,然后对其调用一个方法来指示所需的 return 值:
const stub = sinon.stub(performance, 'now');
stub.returns(60000);
然后,当调用存根时,您应该得到:
console.log( stub() ); // 60000
您可以在 jsfiddle example 中看到此功能。
创建一个全局对象,如:
global.performance = {
now() {
return <returning_value>; // use Date.now() or any value
};
现在您可以访问performance.now()