某高校课程实验,相(造)互(福)学(后)习(人),该教程仅提供相关软件操作,简化实验过程,具体的单元测试用例请自行设计
实验内容
题目:寻找一组按SOAP接口协议进行通信的公开服务,例如天气预报服务,查阅这些服务的接口格式,为其中的服务操作构造单元测试、执行测试,并验证测试结果是否正确
说明:SOAP接口,以 WebXml 为例,获取其天气预报相关的WebService服务,该服务提供XML格式的WSDL文件,官方网址:天气预报 Web Services,该文件的具体内容不做描述,主要是通过从中获取其接口代码,以进行下一步的测试操作
软件说明
实现平台:Eclipse(for Java)
语言:Java
项目类别:Maven
测试工具:Junit
实现流程
1 创建Maven项目
选中Eclipse菜单栏中的 File >> New >> Other…,如果之前没有用过Maven创建项目,图中一般没有该项目的快捷创建按钮
在弹出的窗口中,找到 Maven 文件夹,鼠标左键单击打开它,选中其中的 Maven Project,而后点击 Next >
在接下来的窗口中勾选 Create a simple project,即第一个勾选框,第二个勾选框默认已勾选,也可取消勾选,自定义Maven项目保存的位置,而后点击Next >
在新建Maven的窗口中,输入图中所示内容,其中 Group Id 与 Artifact Id 可以自行定义,以确认Maven项目的名称,Version默认不变,Packaging同样默认不变,如果没有其他需要,点击Finish
创建好的Maven项目列表如图所示
2 添加Maven依赖
Maven项目中的外加依赖均可由 pom.xml 文件添加
双击pom.xml文件,直接在Eclipse中打开它,以下内容是最终使用的相关依赖,对于一个新的Maven项目,需要添加的是 <properties>…</properties> 和 <dependencies>…</dependencies> 的内容,其中 <properties> 用于更换该Maven项目依赖的 Library,也就是 JRE 的版本,而 <dependencies> 描述具体的依赖,这些依赖内容可以在 MvnRepository 中搜索获取,添加依赖后保存pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>weather</groupId>
<artifactId>weather</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.4.4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
3 更新Maven项目
添加pom.xml文件中的依赖后,需要更新该Maven项目,鼠标右键单击该项目的名称,选择 Maven >> Update Project…,在弹出的窗口中直接选择 OK,等待项目自动更新
更新完毕后,左侧导航中可以看到Maven项目的列表中多了一栏 Maven Dependencies,相关的 JRE Library 也进行了更换
4 生成WebService接口代码
该部分涉及 Web项目,原有的Eclipse for Java没有相关的工程,因此需要先下载相关项目包,在Eclipse顶部菜单栏中选择 Help >> Install New Software…
在弹出的窗口中,Work with 选择 - -All Available Sites- -,之后等待Eclipse自动搜索相关软件,而后选中图中所示的软件名称,选中其之前的勾选框,点击 Next >,之后一路Next,在碰到询问是否同意安装软件时选择 accept,软件安装完成后Eclipse会提示需要重启,选择 重启,重启完成后Eclipse中便添加了Web工程相关的一些项目
重启完成后,鼠标右键单击Maven项目名称,选择 New >> Other…
在弹出的窗口中,找到 Web Services 文件夹,选择其中的 Web Service Client,之后点击 Next >
之后的窗口中,在 Service definition 中输入 wsdl文件访问链接,即:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
等右下方的Finish按钮可选后,点击 Finish
Eclipse将自动根据该wsdl文件链接获取其中的接口代码,自动生成,可以在左侧项目列表中看到最终的代码
5 测试用例生成
该Maven项目中已添加 Junit 依赖,可使用该工具自动生成对应接口的测试代码,以 WeatherWebServiceSoap.java 为例,鼠标右键单击该文件名,选择 New >> Other…
在弹出的窗口中,找到 Java 文件夹,选择其中的 JUnit >> JUnit Test Case,点击 Next >
默认选择 New JUnit 4 test,Source folder 表示测试用例的生成文件位置,Maven项目自动生成在对应的 test文件夹 中,Package 命名默认生成,表示测试用例保存的package名称,Name 表示测试用例名称,Superclass默认,以上内容Eclipse均自动生成,若无其他需求,可点击 Next >
选择需要生成测试用例的接口方法,勾选,点击 Finish
之后可查看生成的测试用例默认模板,对该模板进行修改,定义自己的测试内容
6 运行测试用例
编写完成测试用例后,同样使用 Junit 对其执行测试,在 WeatherWebServiceSoapTest.java 类名上鼠标右键单击,选择 Run As >> JUnit Test
可在Eclipse控制台观察到JUnit测试的结果,因执行默认的测试用例模板,图中的5个测试用例均失败,失败的原因(测试结果)可从图中右侧窗口中了解