1

我有一个 ViewModel 定义如下:

(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 测试。

谢谢马丁

4

1 回答 1

0

您需要在测试文件中包含您的应用代码。测试代码可能是这样的:

    (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)

这是一个带有示例的 jsFiddle:http: //jsfiddle.net/danne567/ptW9k/

于 2013-06-17T20:51:22.363 回答