我最近在我的项目中设置了jasmine测试,并试图在我的报告中实现和测试自动完成功能。
我正在使用jQuery UI自动完成功能,并试图测试是否在我的规范中进行了方法调用。但测试失败,说自动完成功能不被识别。
在fixture中,我包含了javascript文件,因为我的自动完成函数调用在文档中。ready函数和所需的jquery, jquery UI js文件以及。我认为这可能是maven依赖关系的问题,所以我在附加的fixture文件中也包含了依赖关系文件。
POM.XML(只是依赖项和插件)
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jasmine-jquery</artifactId>
<version>2.0.3</version>
<scope>test</scope>
</dependency>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.searls</groupId>
<artifactId>jasmine-maven-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<preloadSources>
<source>webjars/jquery.js</source>
<source>webjars/jasmine-jquery.js</source>
<source>http://davidstutz.github.io/bootstrap-multiselect/dist/js/bootstrap-multiselect.js</source>
</preloadSources>
<jsSrcDir>src/main/webapp/resources/js</jsSrcDir>
<jsTestSrcDir>src/test/javascript</jsTestSrcDir>
<webDriverClassName>org.openqa.selenium.phantomjs.PhantomJSDriver</webDriverClassName>
</configuration>
</plugin>
</plugins>
</pluginManagement>
夹具文件:
<title>Fixture File for auto complete</title>
</head>
<body>
<form action="javascript:void(0)" method="get">
<input type="text" id="searchAutoComplete" />
</form>
fixture中的脚本标签似乎不是在post中出现的。但是我已经在fixture中包含了js文件和jquery-ui.js文件。
你们都认为问题可能是什么以及如何解决它?
我修改了pom.xml,如下所示:
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.searls</groupId>
<artifactId>jasmine-maven-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<preloadSources>
<source>webjars/jquery.js</source>
<source>webjars/jasmine-jquery.js</source>
<source>${project.basedir}/src/main/webapp/resources/js/lib/jquery-ui.min.js</source>
<source>http://davidstutz.github.io/bootstrap-multiselect/dist/js/bootstrap-multiselect.js</source>
</preloadSources>
<jsSrcDir>src/main/webapp/resources/js</jsSrcDir>
<jsTestSrcDir>src/test/javascript</jsTestSrcDir>
<webDriverClassName>org.openqa.selenium.phantomjs.PhantomJSDriver</webDriverClassName>
</configuration>
</plugin>
</plugins>
</pluginManagement>
我已经将jquery-min.js添加到项目库中,并将路径包含在pom.xml中。