1

如何使用 qUnit 测试 javascript打印方法?

我有一个基于 jQuery 构建的名为core.js的文件-

// API
var Screen = (function () { // private methods

    function print(text) {
        document.write(text);
    }

    return { // public methods
        print: function (text) {
            print(text);
        }
    };

}());

// MAIN
$(function () { // document ready

    Screen.print("Hello World.");

});

我还在 HTML 文档中设置了 qunit.js(和 .css)文件:

<!DOCTYPE html>
<html>
<head>
    <link href='qunit.css' rel='stylesheet' />
</head>
<body>
    <div id='qunit'></div>
    <script src='qunit.js'></script>
    <script src='core.js'></script>
</body>
</html>

我在想我必须在导入 core-test.js 的 HTML 文档中添加一个脚本标记,其中包含我的单元测试。这就是我困惑的地方...

核心测试.js:

$(function () {
    test("print", function () {
        ok(Screen.print(text), "String is NOT null or undefined");
    });
});
4

1 回答 1

0

实际上这几乎是正确的。

core-test.js应该有某种类型的断言:

test("print", function () {
  ok(Screen.print("") !== null, "String is not null");
  ok(Screen.print("") !== undefined, "String is defined");
});

并且 HTML 文档应该导入 jQuery 以便识别 $ 标识符。

<body>
    <div id='qunit'></div>
    <script src='jquery-version.js'></script>
    <script src='qunit.js'></script>
    <script src='core.js'></script>
    <script src='core-test.js'></script>
</body>
于 2012-08-27T07:57:07.697 回答