我刚开始使用Node,现在正在编写一些单元测试。对于前几个函数,它们运行良好,但是现在我遇到了一个包含moment.utc()
的函数。我的功能简化版本如下:
function calculate_x(positions, risk_free_interest){
let x = 0;
for (let position of positions) {
let expiry_in_years = get_expire_in_years(moment.utc());
if (expiry_in_years > 0){
let pos_x = tools.get_x(expiry_in_years, risk_free_interest);
x += pos_x;
}
}
return x;
}
我试图使用基本的 node assert 测试库来测试这个:
"use strict";
const assert = require('assert');
let positions = [{this: 'is', a: 'very', large: 'object'}];
assert.strictEqual(calculate_x(positions, 1.8), 1.5);
由于运行时间(因此结果)始终不同,因此这将始终失败。
在Python中,我可以设置模拟类和对象。在Node中是否有一种方法可以解决这个问题,而无需将moment.utc()作为参数传递给calculate_x()
函数?