我想知道以下program.please帮助的JUnit测试用例。我没有在这里包括主要方法。想知道代码中url()方法的JUnit测试用例。此代码用于从网站读取HTML并将其保存在本地计算机的文件中
package Java3;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Urltohtml
{
private String str;
public void url() throws IOException
{
try
{
FileOutputStream f=new FileOutputStream("D:/File1.txt");
PrintStream p=new PrintStream(f);
URL u=new URL("http://www.google.com");
BufferedReader br=new BufferedReader(new InputStreamReader(u.openStream()));
//str=br.readLine();
while((str=br.readLine())!=null)
{
System.out.println(str+"\n");
p.println(str);
}
}
catch (MalformedURLException ex)
{
Logger.getLogger(Urltohtml.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
答案 0 :(得分:2)
我会将该类重命名为UrlToHtml
并编写一个JUnit测试类UrlToHtmlTest
。
您在测试时遇到问题的部分原因是该课程的设计和实施设计不合理:
好名字很重要。我不喜欢你对班级或方法的所作所为。
为什么要在使用库的时候写这个呢?
以下是测试类的外观:
public class UrlToHtmlTest {
@Test
public void testUrlToHtml() {
try {
String testUrl = "http://www.google.com" ;
String expected = "";
String actual = UrlToHtml.url(testUrl);
Assert.assertEquals(expected, actual);
} catch (Exception e) {
e.printStackTrace();
Assert.fail();
}
}
}