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 に答える