我们的应用程序将jQuery 对话框用于模态弹出窗口。我们正在尝试为我们的 javascript 编写一些单元测试,其中一部分是创建对话框。我们正在使用 Jasmine 和Jasmine Maven 插件。在浏览器中运行测试时,一切正常。但是,当我们尝试无头执行测试 ( mvn jasmine:test
) 时,测试会在创建对话框的行上失败。错误看起来像这样:
* TypeError: Cannot find function dialog in object [object Object].
发生这种情况的行就像这样:
$(element).dialog(popupProperties);
如果有帮助,我们的 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>
<preloadSources>
<source>${project.basedir}/src/main/webapp/resources/jquery.js</source>
<source>${project.basedir}/src/main/webapp/resources/jquery-ui.js</source>
<source>${project.basedir}/src/main/webapp/resources/angular.js</source>
<source>${project.basedir}/src/test/javascript/lib/angular-mocks.js</source>
<source>${project.basedir}/src/test/javascript/lib/jasmine-fixture.js</source>
</preloadSources>
<jsSrcDir>${project.basedir}/src/main/webapp/resources/</jsSrcDir>
<jsTestSrcDir>${project.basedir}/src/test/javascript/unit/</jsTestSrcDir>
</configuration>
</plugin>
我们可以做些什么来让无头执行与对话内容一起工作?