ybdt1201 2016-05-31 06:39 采纳率: 100%
浏览 1078
已采纳

求教大神,单元测试中,有的用QUnit.test()有的直接test(),请问这两者的区别?

在一个QUnit的学习链接上看到用QUnit.test():如图:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>QUnit Example</title>
  <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.17.1.css">
</head>
<body>
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>
  <script src="http://code.jquery.com/qunit/qunit-1.17.1.js"></script>
  <script src="tests.js"></script>
</body>
</html>

js部分为:

QUnit.test( "hello test", function( assert ) {
  assert.ok( "hello world" == "hello world", "Test hello wordl" );
});

在另外一个qunit学习网站上,
直接用不写QUnit前缀,直接使用test方法,如:

<!DOCTYPE html>
<link rel="stylesheet" href="qunit.css">
<script src="qunit.js"></script>
<script>
test("hello", function() {
    ok(true, "world");
});
</script>
<h1 id="qunit-header">QUnit Hello World</h1>
<h2 id="qunit-banner"></h2>
<ol id="qunit-tests"></ol>

求教大神指导下,这二者的区别,他们是不是同一个QUnit单元测试框架

  • 写回答

1条回答 默认 最新

  • ybdt1201 2016-05-31 14:13
    关注

    终于在网上找到答案了:下来的内容就是重头戏了,他定义了QUnit常用的api方法和相关的断言方法。对于断言方法你也许会感到奇怪,因为他是定义在QUnit.assert中的。而我们在单元测试中使用的时候,前面并没有添加QUnit前缀,这是怎么回事呢。原因是源码中使用了扩展方法,把QUnit.assert中的方法扩展到了QUnit中。
    详细链接:http://www.cnblogs.com/softlover/archive/2012/10/30/2745461.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?