如何使用Junit测试java类。不知道从哪里开始
各位专家好,, 我想启动Junit/mockito etc测试框架,因为我看到了很多博客,甚至在这里,人们都建议编写测试用例,而不是sysout等等。。但我一直在努力测试:-(。。 我阅读了教程,大部分教程都展示了做和、除、加等测试的示例。好的,我理解,但如何在实际编程中使用它。请有人指导我并帮助编写测试用例,例如下面的VOID方法:如何使用Junit测试java类。不知道从哪里开始,junit,Junit,各位专家好,, 我想启动Junit/mockito etc测试框架,因为我看到了很多博客,甚至在这里,人们都建议编写测试用例,而不是sysout等等。。但我一直在努力测试:-(。。 我阅读了教程,大部分教程都展示了做和、除、加等测试的示例。好的,我理解,但如何在实际编程中使用它。请有人指导我并帮助编写测试用例,例如下面的VOID方法: public void callHtmls(List<String> pathList, Session session, Image img){
public void callHtmls(List<String> pathList, Session session, Image img){
Iterator<String> it = pathList.iterator();
while(it.hasNext()){
String path = it.next();
String htmlPath = getHtmlPath(path); // call to a method
if(htmlPath!=null){
System.out.println("HTML Path is = " + htmlPath);
try {
callImagePrinter(htmlPath,session, img); //again call to a method
}catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
}
public void callHtmls(列表路径列表、会话会话、图像img){
Iterator it=pathList.Iterator();
while(it.hasNext()){
字符串路径=it.next();
字符串htmlPath=getHtmlPath(路径);//对方法的调用
如果(htmlPath!=null){
System.out.println(“HTML路径为=“+htmlPath”);
试一试{
callImagePrinter(htmlPath,session,img);//再次调用方法
}捕获(例外e){
System.out.println(e.getMessage());
}
}
}
}
请帮帮我!!!因为测试,我做了一个噩梦:-(首先找到依赖项:
- 输入:
- 路径列表,会话,img
- getHtmlPath()
- 输出
- callImagePrinter()
- 系统输出
YourObject spy = spy(yourObject);
when(spy.getHtmlPath()).thenReturn("htmlpath");
然后调用您的方法:
callHtmls(asList("html1","html2"), null, null);
以及验证callImagePrinter的输出:
verify(spy).callImagePrinter(eq("htmlpath"), any(Session.class), any(Image.class));
请注意,
spy
、when
、eq
和any
都是Mockito
的静态方法,可能重复感谢Stefan的解释。我使用sysout只是为了检查路径是否正确,但在使用测试用例后希望将其删除。我理解解释,但不知道如何实现将其作为Junit/Mockito添加..我用Mockito附加了一个示例。