B.3 组织测试
QUnit提供两个级别的分组,分别以它们的函数调用命名:module()
和test()
。其中,module 类似于通用的类别,测试将在该类别下运行;而test实际上是一组接收回调函数的测试,在这些回调函数中运行相应测试的特定单元测试。在这里,我们要把测试按照每一章的主题组织起来,把代码放到test/test.js文件中:
代码清单B-1
module('Selecting');
test('Child Selector', function() {
ok(true, 'Placeholder is entered');
});
test('Attribute Selectors', function() {
ok(true, 'Placeholder is entered');
});
module('Ajax');
虽然不一定非要把测试文件按照这个测试结构来组织,但最好还是对整个结构有一个大致的概念。除了module()
和test()
之外,我们还在每个测试中插入了一个断言占位语句。即便有一个断言测试失败,QUnit都会抛出错误。
因为QUnit默认会在文档加载完成之后才会运行测试,所以我们的模块还有测试都不需要放在$(document).ready()
调用中。经过这一步简单的设置,然后加载测试用的HTML页面,就会得到图B-1所示的结果。
图 B-1
图中的模块名是以浅蓝色突出显示的,而测试名则以深蓝色显示。单击任何一个测试都会展示该组测试的结果;这些结果在全部通过(或在这里并没有测试)的情况下,默认是折叠起来的。没有出现Ajax模块是因为还没有给它写测试呢。