【发布时间】:2015-06-02 05:02:17
【问题描述】:
我是 js 单元测试的新手,我正在尝试将 mocha 用于我在 this github repo 找到的主干联系人管理器教程。但是,我有一个全局 window.ContactManager 变量,我首先想测试它是否存在,然后稍后在 start 函数中测试 router.on 功能。变量如下所示:
window.ContactManager = {
Models: {},
Collections: {},
Views: {},
start: function(data) {
var contacts = new ContactManager.Collections.Contacts(data.contacts),
router = new ContactManager.Router();
router.on('route:home', function() {
router.navigate('contacts', {
trigger: true,
replace: true
});
});
router.on('route:showContacts', function() {
var contactsView = new ContactManager.Views.Contacts({
collection: contacts
});
.....
我的测试不起作用: var expect = require ('chai').expect;
describe("Application", function() {
it('creates a global variable for the name space ContactManager' , function () {
expect(ContactManager).to.exist;
})
});
如何通过在控制台中运行测试来测试和访问 mocha 中存在的全局窗口变量?
【问题讨论】:
-
expect(window.ContactManager).to.exist;? -
是的。我认为第一个测试是测试它是否存在,然后在 start 函数中测试路由器触发器。请查看编辑
标签: javascript node.js backbone.js mocha.js chai