B.3 组织测试

QUnit提供两个级别的分组,分别以它们的函数调用命名:module()test()。其中,module 类似于通用的类别,测试将在该类别下运行;而test实际上是一组接收回调函数的测试,在这些回调函数中运行相应测试的特定单元测试。在这里,我们要把测试按照每一章的主题组织起来,把代码放到test/test.js文件中:

代码清单B-1

  1. module('Selecting');
  2. test('Child Selector', function() {
  3. ok(true, 'Placeholder is entered');
  4. });
  5. test('Attribute Selectors', function() {
  6. ok(true, 'Placeholder is entered');
  7. });
  8. module('Ajax');

虽然不一定非要把测试文件按照这个测试结构来组织,但最好还是对整个结构有一个大致的概念。除了module()test()之外,我们还在每个测试中插入了一个断言占位语句。即便有一个断言测试失败,QUnit都会抛出错误。

因为QUnit默认会在文档加载完成之后才会运行测试,所以我们的模块还有测试都不需要放在$(document).ready()调用中。经过这一步简单的设置,然后加载测试用的HTML页面,就会得到图B-1所示的结果。

B.3 组织测试 - 图1

图 B-1

图中的模块名是以浅蓝色突出显示的,而测试名则以深蓝色显示。单击任何一个测试都会展示该组测试的结果;这些结果在全部通过(或在这里并没有测试)的情况下,默认是折叠起来的。没有出现Ajax模块是因为还没有给它写测试呢。