Javascript ViewModel的Qunit测试
我的ViewModel定义如下:Javascript ViewModel的Qunit测试,javascript,knockout.js,qunit,Javascript,Knockout.js,Qunit,我的ViewModel定义如下: (function(ko, myApp) { myApp.HomeViewModel = function () { this.message = ko.observable("Helloy....."); this.toolBarIsVisible = ko.observable(true); this.isDataDirectoryManager = ko.observable(true); }; myApp.HomeViewM
(function(ko, myApp) {
myApp.HomeViewModel = function () {
this.message = ko.observable("Helloy.....");
this.toolBarIsVisible = ko.observable(true);
this.isDataDirectoryManager = ko.observable(true);
};
myApp.HomeViewModel.prototype = {
sayHi: function () {
this.message("World");
}
};
ko.applyBindings(new myApp.HomeViewModel());
}(window.ko, window.myApp || {}));
如何编写实例化myApp.HomeViewModel实例的qunit测试
谢谢
Martin您需要在测试文件中包含应用程序代码。测试代码可以是这样的:
(function (ko, myApp) {
var vm;
module( "HomdeViewModel", {
setup: function() {
vm = new myApp.HomeViewModel();
},
teardown: function() { }
});
test('Can create HomdeViewModel', function () {
ok(vm instanceof myApp.HomeViewModel);
});
test('Sets default values', function () {
strictEqual(vm.message(), 'Helloy.....');
ok(vm.toolBarIsVisible());
ok(vm.isDataDirectoryManager());
})
test('Can change message', function () {
vm.sayHi();
strictEqual(vm.message(), 'World');
});
})(window.ko, window.myApp)
下面是一个JSFIDLE示例: