Spring Maven项目中的Jasmine测试:期望规范中没有识别jQuery UI自动完成功能



我最近在我的项目中设置了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中。

最新更新