针对 xsd 测试 Web 服务对象

Testing web service objects against xsd

我的任务是为 Web 服务编写测试。但测试只是为了根据 xsd 文件验证我们的对象。 测试步骤为: 从我们的 xsd 创建一个 Schema 对象。然后从模式中获取验证器并根据它验证我们的对象。 我的问题:

我在哪里可以阅读更多这些类型的测试以及它们是如何命名的?

我认为 IT 比 UT 更适合测试 Web 服务。 您可以使用 SOAPUI 或 Robot Framework 等 IT 框架来实现。

关于缺少@XmlRootElement 的问题。您可以使用 @XmlRootElement 创建一个 class 并扩展到您要测试的 class,然后在此 class.

上进行编组
@XmlRootElement
public class ClassRoot extends ClassYouWantTest {

}

一种测试方法是使用 XML 代表整个服务负载的文件。然后,改变 XML 到处都有错误,并验证每个变化。

另一种方法是创建子元素并使用

编组它们
<T> JAXBElement<T> wrap( String ns, String tag, T o ){
    QName qtag = new QName( ns, tag );
    Class<?> clazz = o.getClass();
    @SuppressWarnings( "unchecked" )
    JAXBElement<T> jbe = new JAXBElement( qtag, clazz, o );
    return jbe;
}

JAXBElement<Foo> jbe = wrap( "/some/ns", "aFoo", new Foo() );
m.marshal( jbe,... );

并将生成的 XML 数据传递给验证。