Javascript之QUnit单元测试

发表于:2014-4-25 11:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:y-z-f    来源:51Testing软件测试网采编

  这里我进行了一个最简单的测试,测试一个函数的是不是正确,我们在测试函数中调用该函数并和我们预想的结果进行对比,如果对比失败册触发断言,下面是最终结果:
  如果我们现在将上面的代码改成下面这样:
1         function add(a, b) {
2             return a + b + 1;
3         }
4
5         test("Test Method 1", function () {
6             ok(add(1, 2) == 3, "Test Method 1 Pass");
7         });
  那么最终就会触发断言,结果就是这样的:
  2.如果强制指定断言的数量
  有时我们可能有5个断言,但是QUnit可能最后只识别了3个其他断言仅仅是因为语句错误未执行到,这个时候我们就需要强制指定断言的数量。
  假设上面的示例中应该有两个断言,代码如下改动:
1         function add(a, b) {
2             return a + b + 1;
3         }
4
5         test("Test Method 1", function () {
6             expect(2);
7             ok(add(1, 2) == 3, "Test Method 1 Pass");
8         });
  这里我们可以看到使用了 expect 这个函数,当然你也可以像下面这样写:
1         function add(a, b) {
2             return a + b + 1;
3         }
4
5         test("Test Method 1",2, function () {
6             ok(add(1, 2) == 3, "Test Method 1 Pass");
7         });
  但是QUnit官方的说明文档中已经声明了不建议使用这个方式,所以我们尽量使用前者。
  下面是上面两个不同方式的结果:
  我们可以清楚的看到这里报了两个错误,但实际只有一个断言没有成功。所以这样我们就实现了最终的结果。
  3.异步测试
  在对比较大的模块进行测试的时候,可能会出现使用定时器等耗时的测试,但是我们不能因为一个功能的耗时而导致后面的所有测试都要等待这个测试完成,
  所以我们就需要使用异步测试,当然如果你的模块必须是顺序的执行那么只能使用test了。
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号