我正在尝试将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.
答案 0 :(得分:2)
我最近遇到了这个问题,问题是我的项目位于一个包含空格的目录中。
这是在Windows上,但在OSX上可能是相同的,所以值得一试。
例如,我的项目位于这样的目录中:
C:\directory with spaces\myproject
将其更改为以下内容已修复jasmine:bdd
命令:
C:\directorywithoutspaces\myproject