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

时间:2012-08-27 01:03:41

标签: jquery qunit

如何使用qUnit测试javascript print 方法?

我在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文档中添加一个脚本标记,其中包含我的单元测试。这是我感到困惑的地方......

芯test.js:

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

1 个答案:

答案 0 :(得分:0)

实际上这几乎是正确的。

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

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

HTML文档应该导入jQuery,以便识别$ identifier。

<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>