1
私は、日付の書式設定に使用される瞬間に応じてバインディングハンドラーを作成しました。私はJasmineを使ってこのバインディングハンドラを単体テストしたいと思っていました。ユニットテストノックアウトバインディングハンドラー(ジャスミン付き)
以下は私のバインディングハンドラのコードです:
define(['knockout', 'moment'], function (ko, moment) {
'use strict';
ko.bindingHandlers.date = {
update: function (element, dateValue, allBindings) {
var date = ko.utils.unwrapObservable(dateValue()) || '-',
format = allBindings.get('format'),
formattedDate = function() {
return moment(date).format(format);
};
ko.bindingHandlers.text.update(element, formattedDate);
}
};
return {
dateBinding: ko.bindingHandlers.date
};
});
私は以下のように私のspecファイルを作成しています:
define(['testUtils', 'jquery', 'knockout'], function (testUtils, $, ko) {
'use strict';
ddescribe('utils/date.binding', function() {
var testee;
beforeEach(function (done) {
testUtils.loadWithCurrentStubs('utils/date.binding', function (dateUtils) {
testee = dateUtils;
done();
});
});
afterEach(function() {
testUtils.reset();
});
describe('ko.bindingHandlers.date', function() {
var element = document.createElement();
it('should be true', function() {
expect(true).toBe(true);
});
});
});
});
わからないところテストを開始し、どのような部分にテストする必要があります。
かなり広い質問は...あなたがチェックアウトする場合がありますhttps://github.com/knockout/knockout/tree/master/spec/defaultBindings – user3297291
おかげで@ user3297291この参照は私のために働いた:) –
これらのテストは、ファントムJS 1.9.8で失敗する –