2017-06-14 6 views
0

私はSAPUI5アプリQUnitでオブジェクトを返す関数をスタブする方法は?

var dateVal = controls.awardDate.getDateValue(); 
var month = dateVal.getMonth(); 

awardDateに次の行を持っているが、ユーザーが日付を入力するとJavaScript日付オブジェクトを返す日付ピッカーです。これは、この要素をテストする私のqunitのスニペットです。私qunitで

awardDate: { 
    getValue: getInvalidValue, 
    getValueState: getValueStateWarning, 
    setValue: setValue, 
    getDatevalue: getDateValue 
} 

私は、オブジェクトがプロパティまたはメソッドをサポートしていないというエラーが出ます「getDateValue」。オブジェクトを返すときにこの関数をどのようにスタブすることになっているのかよく分かりません。私がこのように行う他のテスト

私は空の文字列を取得します。 ので、日付ピッカーでそれを行うにはで私の試みは

var getDateValue = sinon.stub().returns(new Date()); 

であるが、これは動作しません。私はまだ同じエラーが発生します。誰もこれを前にしたことがありますか?

編集/更新:私は、次の

var getValueDate = sinon.stub().returns(Object, function(){ }); 

を行うことによって、問題の一部を解決することができた今、私が持っている問題は、(同じエラーですが、getMonthの場合)の文字列を返します。その他の変数はすべてグローバルですが、dateValueはユーザーがdatepickerを更新するとその場で作成されます。この方法を進める上でのアイデアですか?

答えて

0

私はこの問題を解決する方法を見つけ出すことができました。このようなObject型の特定のDateオブジェクトにする必要がありました。

var getValueDate = sinon.stub().returns(new Date()), function(){ }); 
0

は、このコードを試してみてください。

var getValueDate = sinon.stub(controls.awardDate, 'getDateValue'); 
var month = { 
    getMonth: sinon.stub() 
} 
getValueDate.returns([month]); 
関連する問題