このテストが明確な理由もなく失敗したり失敗したりするという奇妙な問題があり、何が起こっているのかわかりません。時々、テストを更新して合格することがあります。また、何も変更しないと失敗する場合もあります。誰かが何が起こっているのか説明できるかどうか疑問に思っていました。
サンプルコードは次のとおりです。
var viewModel = function() {
return { TestDummy: ko.observable() };
};
QUnit.test("Test 1", function () {
var curModel = new viewModel();
validationTestCore.testMaxLength(curModel.TestDummy, '12345');
QUnit.equal(curModel.TestDummy.errorMessages().length, 1);
});
curModel.TestDummy がオブザーバブルであることがわかります。このオブザーバブルは validationTestCore.testMaxLength に渡され、errorMessages observableArray が次のように追加されます。
TestDummy.errorMessages = ko.observableArray();
TestDummy.errorMessages.push({ errorMessage: 'hello'});
テストが失敗した場合、QUnit の結果は、長さが 0 に評価されていることを示しています。
何か案は?