【发布时间】:2013-11-28 03:47:47
【问题描述】:
场景
我正在为我正在编写的基于 Durandal 的应用程序编写一些 jasmine 测试。 Durandal 文档建议编写测试的方式类似于
视图模型
define([
'knockout',
'plugins/router',
'services/unitofwork',
'services/logger',
'services/errorhandler',
'services/config'
],
function (ko, router, unitofwork, logger, errorhandler, config) {
var uow = unitofwork.create();
var searchTerm = ko.observable();
var results = ko.observableArray([]);
var search = function () {
uow.myySearch(searchTerm).then(function (data) {
results(data);
logger.log(data.length + ' records found', '', 'myViewModel', true);
});
};
var vm = {
search : search,
searchTerm : searchTerm,
results : results
};
});
测试
define(['viewmodels/myViewModel'], function (myViewModel) {
describe('Stuff im testing', function(){
it('returns true', function () {
expect(true).toBe(true);
});
});
});
对于我的大多数测试来说,这很有效。
问题
如何模拟/存根/伪造已传递到 ViewModel 的模块。例如 UnitOfWork 模块,它总是返回一组标准数据。
【问题讨论】:
标签: unit-testing requirejs jasmine durandal