0

我正在尝试使用 maven-soapui-pro-plugin 插件启动嵌入式soapui 模拟网络服务。这在我的本地机器上完美运行,但显然会在持续集成平台上崩溃,因为项目文件引用本地文件系统上的 wsdl。因此,我有四个选择: 1/ 找到一种将 wsdl 文件位置作为参数传递的方法。2/ 将此引用更改为 HTTP(这意味着我必须安装 Apache 服务器) 3/ 手动更改对项目文件中 wsdl 的引用。4/ 用另一个插件替换那个插件

<plugin>
            <groupId>eviware</groupId>
            <artifactId>maven-soapui-pro-plugin</artifactId>
            <version>4.5.0</version>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.6</version>
                </dependency>
            </dependencies>    
            <executions>
                <execution>
                    <phase>process-test-resources</phase>
                    <goals>
                        <goal>mock</goal>
                    </goals>
                    <configuration>
                        <projectFile>D:\Documents and Settings\jhagai\Bureau\Toto-soapui-project.xml</projectFile>
                        <mockService>MockService</mockService>
                        <port>8888</port>
                        <path>/test</path>
                        <noBlock>true</noBlock>
                    </configuration>
                </execution>
            </executions>
        </plugin>

我觉得我是唯一面临这个问题的人,这可能吗?

4

1 回答 1

0

首先,您实际上并不需要 CI 服务器上的 wsdl 文件。在我们的 CI 服务器上有几个不指向 wsdl 文件的测试。SoapUI 使用 wsdl 文件来生成项目和示例请求,但是如果您在没有它的情况下运行测试并且您的测试配置正确,那么它应该不会失败。我们已经实现了您列出的第 2 项,但这样测试人员就不需要自己生成 wsdls。

我在上面看到的问题是硬编码的项目文件。您应该能够通过将您的项目保存在您的 Maven 项目中并在那里指向它(根据 POM 的位置映射到它)来处理这个问题。

于 2012-06-22T01:55:09.617 回答