【发布时间】:2016-03-22 22:55:27
【问题描述】:
这是我用于测试的mule flow:
HTTP Listener > Logger (Message) > HTTP Request POST > Logger (Response)
在我的 mule 项目中,我有 5 个classes。这是一个例子:
@XmlRootElement
public class Car {
String name;
String color;
public Car() {
super();
}
public Car(String name, String color) {
super();
this.name = name;
this.color = color;
}
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
[More Setters and Getters...]
}
我将元素@XmlRootElement 分配给class 并将@XmlElement 分配给setters。
然后,当我使用配置资源测试流程时,我有一个主类:
public class JUnitSend extends FunctionalTestCase {
@Override
protected String getConfigResources() {
return "send-xml.xml";
}
public String getName() {
return "Mule Server Test";
}
public Car myCar()
{
Car myCar = new Car();
myCar.setName("Ferrari");
myCar.setColor("Red");
return myCar;
}
@Test
public void sendXML() throws Exception {
JAXBContext jaxbContext = JAXBContext.newInstance(Car.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
StringWriter sw = new StringWriter();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
jaxbMarshaller.marshal(myCar(), sw);
String xmlString = sw.toString();
MuleClient client = new MuleClient(muleContext);
MuleMessage result = client.send("http://localhost:8090/", xmlString, null);
assertEquals("Hello", result.getPayloadAsString());
}
}
但我想用剩余的 4 个类对其进行测试。
与其他课程一起测试的最佳实践是什么?
【问题讨论】:
-
只是一个不相关的评论:作为最佳实践,您应该从 MuleContext 中获取 MuleClient 而不是自己创建。那是
muleContext.getClient()。
标签: java unit-testing junit mule