我正在尝试将 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。