おそらくこれはノックアウトが変更されたためです(受け入れられた回答が古いため)が、今日、これは(もう)必要ではないと思います。Knockout ビューモデルは簡単にテストできます。テストでグローバルko変数を設定するだけで済みました。
global.ko = require('../../Website/Scripts/knockout-3.4.0.js');
その後、通常どおりテストを実行できます。ビューモデルをインスタンス化し、それに対して操作を実行してアサートします。
私はそれについてもう少し書いていますが、本質的に、これは私にとってはうまくいきます:
global.ko = require('../../Website/Scripts/knockout-3.4.0.js');
var MyViewModel = require('../../Website/Scripts/myViewModel.js').MyViewModel;
describe('MyViewModel', function() {
var viewModel;
beforeEach(function(){
viewModel = new MyViewModel();
});
describe('...', function() {
/* And so on */
});
});