Dies ist die mule flow
, die ich auf die Tests verwenden:Mule - JUnit senden Anfragen - Best Practice
HTTP Listener > Logger (Message) > HTTP Request POST > Logger (Response)
In meinem mule Projekt Ich habe 5 classes
. Dies ist ein Beispiel:
@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...]
}
ich das Element @XmlRootElement
-class
und @XmlElement
zu setters
asign.
Dann habe ich eine Hauptklasse, wenn ich den Fluss mit Config Ressourcen testen:
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());
}
}
Aber ich will es testen mit den verbleibenden vier Klassen.
Was ist die Best Practices mit den anderen Klassen zu testen?
Nur ein unabhängiger Kommentar: als Best Practice, sollten Sie die MuleClient nehmen aus dem MuleContext anstatt eigene zu erstellen. Das ist '' 'muleContext.getClient()' ''. – afelisatti