如何在我的PhantomJS QUnit测试运行器中包含项目代码?

时间:2016-11-30 00:43:42

标签: javascript phantomjs qunit

我正在使用node-qunit-phantomjs PhantomJS测试运行器QUnit。我遇到了障碍,因为我无法在JS库中包含或注入需要测试的代码。

测试文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">

    <title>color tests</title>

    <!-- QUNIT CSS -->
    <link rel="stylesheet" href="vendor/qunit.css" type="text/css"/>

    <!-- QUNIT JS -->
    <script type="text/javascript" src="vendor/qunit.js"></script>

    <!-- IGV JS -->
    <script type="text/javascript" src="../js/igv-color.js"></script>

    <!-- unit test JS -->
    <script type="text/javascript" src="testColor.js"></script>

</head>
<body>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<script type="text/javascript">
    document.addEventListener('DOMContentLoaded', function () {
        runColorTests();
    });
</script>
</body>
</html>

正在测试的代码是testColor.js

function runColorTests() {

    test( "GreyScale Test", 1, function() {

        ok(igv.greyScale(45), "grey");
        console.log(igv.greyScale(45));
    });

    test( "RGB Color Test", 1, function() {

        ok(igv.rgbColor(12, 123, 23), "rgb");
        console.log(igv.rgbColor(12, 123, 23));
    });

}

颜色库是igv-color.js

var igv = (function (igv) {

    igv.rgbColor = function (r, g, b) {
        r = clamp(r, 0, 255);
        g = clamp(g, 0, 255);
        b = clamp(b, 0, 255);
        return "rgb(" + r + "," + g + "," + b + ")";
    };

    igv.greyScale = function (grey) {
        grey = clamp(grey, 0, 255);
        return "rgb(" + grey + "," + grey + "," + grey + ")";
    };

    function clamp(value, min, max) {
        return Math.min(Math.max(value, min), max);
    };

    return igv;

})(igv || {});

请注意,颜色库的范围是全局变量igv

当我运行测试时:node-qunit-phantomjs ./runTestColor.html出现错误,因为库函数未被拉入我的代码中。我知道函数page.injectJspage.includeJs,但我认为无法将它们与测试运行器一起使用。

我在这里缺少什么?

0 个答案:

没有答案