【发布时间】:2019-05-02 11:10:35
【问题描述】:
我将单元测试带入我的 javascript 文件。由于我不希望某些函数被继承,所以我独立声明了一个函数。如何编写函数的单元测试? (就像下面的“getFormatData”)我还没有找到关于这个的教程。也许关键字不正确 :) 我知道如何为 setValue 编写 UT,但如何为“getFormatData”编写 UT。我试过但控制台显示未定义 getFormat。即使我添加“window.getFormatData({});”,错误信息也是一样的。
MockedObject.prototype.setValue(oData){
var oMockedData = getFormatData(oData);
this.setData(oMockedData);
};
function getFormatData(oData){
return oData ? oData : 1;
}
//Test "setValue":
QUnit.module("Test setValue", funciton(assert){
var control = new MockedObject()
var oData = {};
sinon.stub(window, "getFormatData").returns("MockedResult");
sinon.stub(control, "setData");
control.setValue(oData);
assert.ok(control.setData.called, "setData is called");
window.getFormatData.restore();
control.setData.restore();
})
//Test "getFormatData":
QUnit.module("getFormatData", function(assert) {
// Act
var result = getFormatData({});//var result = window.getFormatData({});
//Assert
assert.strictEqual(result, 1, "Accepted");
})
【问题讨论】:
-
函数声明创建变量,所以真的不清楚你在这里问什么。
标签: javascript qunit stub