5

我正在尝试将 javascript 单元测试添加到我们的项目中,并发现了Jasmine Maven Plugin。我按照指示在我的 pom.xml 中结束了这个:

<plugin>
    <groupId>com.github.searls</groupId>
    <artifactId>jasmine-maven-plugin</artifactId>
    <version>1.2.0.0</version>
    <extensions>true</extensions>
    <executions>
        <execution>
            <goals>
                <goal>test</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <jsSrcDir>${project.basedir}/src/main/webapp/resources/js</jsSrcDir>
        <jsTestSrcDir>${project.basedir}/src/test/javascript</jsTestSrcDir>
    </configuration>
</plugin>

我运行mvn jasmine:bdd并获得预期的输出。然后我去,http://localhost:8234我得到的只是一个空白屏幕。我查看控制台并查看我的每个 js 文件:

Not allowed to load local resource: file:///absolute/path/to/the/js/src/main/webapp/resources/js/myJS.js

该页面的 HTML 包括我的脚本,如下所示:

<script type="text/javascript" src="file:/absolute/path/to/the/js/src/main/webapp/resources/js/myJS.js"></script>

所以我的问题是,为什么插件使用文件协议来包含 js?这是它通常的工作方式吗?如果是这样,我如何让我的浏览器允许本地资源?有没有办法阻止它这样做?

以防万一,我在 Firefox 和 Chrome 上都试过了,我使用的是 OS X。

4

1 回答 1

2

我最近遇到了这个问题,问题是我的项目位于一个有空格的目录中。

这是在 Windows 上,但在 OSX 上可能是一样的,所以值得一试。

因此,例如我的项目位于这样的目录中:

C:\directory with spaces\myproject

将其更改为以下固定jasmine:bdd命令:

C:\directorywithoutspaces\myproject

祝你好运!

于 2012-10-09T15:42:07.007 回答