Jasmine JSCover没有仪器不起作用

时间:2014-04-29 10:16:52

标签: javascript unit-testing command jasmine jscoverage

我必须在这里遗漏一些东西。我有Jasmine测试,我希望检查测试对onTheMove-Tree.js文件的覆盖范围 我在http://localhost:8080/jscoverage.html?/index.html.上使用default example server setup服务器运行 我修改了index.html文件以包含我在\doc\example\dependencies放在同一文件夹中的依赖项(帖子底部的代码)是我的Jasmine测试文件'jasmine-OnTheMove-OnTheMove_ObjectTreeStructure-Tests.js'
我打算获得onTheMove-Tree.js测试覆盖率的文件位于doc\example所在目录中的index.html目录中。我使用以下命令启动服务器:

C:\Users\Administrator\Downloads\JSCover-0.2.0>java -jar target/dist/JSCover-all
.jar -ws --branch --document-root=doc/example --no-instrument=doc/example/depend
encies

但是我可以看到依赖项文件夹中的文件被修改(检查屏幕截图),这会导致所有测试失败(相同的屏幕截图)。 为什么JSCover会在\doc\example\dependencies中检测文件 enter image description here

Index.html代码:

<html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>JavaScript Tests</title>

<script type="text/javascript">
    window.onTheMoveTest = {};
</script>

<script type="text/javascript" src="/dependencies/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="/dependencies/ua-parser.min.js"></script>
<script type="text/javascript" src="/dependencies/knockout-3.0.0.custom.min.js">    </script>
<script type="text/javascript" src="/dependencies/knockout.validation.js"></script>
<script type="text/javascript" src="onTheMove-Tree.js"></script>
<script type="text/javascript" src="/dependencies/jasmine.js"></script>
<script type="text/javascript" src="/dependencies/jasmine-html.js"></script>
<script type="text/javascript" src="/dependencies/jasmine-jquery-1.7.0.js"></script>
<script type="text/javascript" src="/dependencies/jasmine-OnTheMove-OnTheMove_ObjectTreeStructure-Tests.js"></script>

<script type="text/javascript">
    (function () {

        "use strict";

        var jasmineEnv = jasmine.getEnv();
        jasmineEnv.updateInterval = 250;

        var htmlReporter = new jasmine.HtmlReporter();
        jasmineEnv.addReporter(htmlReporter);

        jasmineEnv.specFilter = function (spec) {
            return htmlReporter.specFilter(spec);
        };

        var currentWindowOnload = window.onload;
        window.onload = function () {
            if (currentWindowOnload) {
                currentWindowOnload();
            }

            execJasmine();
        };

        function execJasmine() {
            jasmineEnv.execute();
        }

    })();
</script>
</head>
<body></body></html>

1 个答案:

答案 0 :(得分:1)

--no-instrument=URL是基于网址的路径,而不是基于文件系统的,因此您需要--no-instrument=/dependencies