我想为这个函数编写JUNIT测试
public static int creerFichierXml(TextField titre_projet,TextField description1,TextField svn,TextField planning1,TextField planning2,TextField goals,TextField mail){
//Créer le fichier XML et l'envoyer au serveur
int returnCode = 0;
ParseToXML j=new ParseToXML();
try {
j.main(description1, svn, planning1, planning2, goals,mail);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
HttpClient client = new HttpClient();
PostMethod postMethod = new PostMethod("http://localhost:8080/createItem?name="+titre_projet.toString());
postMethod.setRequestHeader("Content-type", "application/xml; charset=ISO-8859-1");
try {
postMethod.setRequestBody(new FileInputStream(new File("C:/integrationContinue/src/main/resources/config.xml")));
returnCode = client.executeMethod(postMethod);
System.out.println("*********************************************"+returnCode);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return returnCode;
}
此代码用于创建xml文件,然后使用postMethod
将其发送到服务器Junit必须测试http Connection,Parse to Xml并调用main函数
答案 0 :(得分:0)
如果您正在调用ParseToXML
,HttpClient
,PostMethod
,那么您不会进行单元测试,因为您正在测试受测试类之外的代码。要真正对此进行单元测试,您需要提供ParseToXml
,HttpClient
和PostMethod
的工厂类。然后你会注入模拟工厂,它们会为每个类返回模拟。然后你会测试模拟被正确调用。
如果您正在测试此代码实际上向服务器X发送了HTTP Post方法,那么您正在进行集成测试而不是单元测试。