我的SAPUI5应用程序中有以下几行
var dateVal = controls.awardDate.getDateValue();
var month = dateVal.getMonth();
awardDate是用户输入日期并返回javascript日期对象的日期选取器。这是我的qunit片段来测试这个元素。
awardDate: {
getValue: getInvalidValue,
getValueState: getValueStateWarning,
setValue: setValue,
getDatevalue: getDateValue
}
在我的qunit中,我收到一条错误消息,指出该对象不支持属性或方法'getDateValue'。我不确定当它返回一个对象时我该如何存根这个函数。我这样做的其他测试
var getValue = sinon.stub().returns('');
我得到一个空字符串。 所以我尝试使用datepicker来实现它是
var getDateValue = sinon.stub().returns(new Date());
但这不起作用。我仍然得到同样的错误。有人曾经这样做过吗?
编辑/更新:我可以通过执行以下操作来解决部分问题
var getValueDate = sinon.stub().returns(Object, function(){ });
现在我遇到的问题是同样的错误,但getMonth()返回一个字符串。所有其他变量都是全局变量,但是当用户更新datepicker时,会立即创建dateVal。关于如何继续这个的任何想法?
答案 0 :(得分:0)
尝试使用此代码:
var getValueDate = sinon.stub(controls.awardDate, 'getDateValue');
var month = {
getMonth: sinon.stub()
}
getValueDate.returns([month]);
答案 1 :(得分:0)
我能够弄清楚如何解决这个问题。我必须使Object类型成为像这样的特定Date对象
var getValueDate = sinon.stub().returns(new Date()), function(){ });