使用try-catch块junit的方法的单元测试

时间:2019-03-18 22:16:24

标签: java unit-testing intellij-idea junit

我有一个类,该类的方法使用jsoup检索前面提到的页面的内容,然后连接到下载的链接并创建对象列表以进行进一步处理。我目前正在为此编写单元测试,这是我第一次尝试考虑它们的质量和含义,以及如何测试此方法中包含的try-catch块。当我提供指向jsoup的无效链接时,它将引发异常:

class

如何捕获它并在测试中注册?我要感谢您为这些测试提供的所有建议和提示!

测试方法:

java.lang.IllegalArgumentException: Must supply a valid URL
java.lang.IllegalArgumentException: Malformed URL: abdcds.html

已经进行了测试:

 public ArrayList<WebContent> getContent(){

    ArrayList<WebContent> list = new ArrayList<>();

    try {
        Document document = Jsoup.connect(rssUrl).get();
        Elements link = document.select(".rssLink a");
        Elements title = document.select(".name");

        for(int i=0; i<title.size();i++){
            String urlTitle = title.get(i).text();
            String urlLink = link.get(i).attr("abs:href");
            if(urlLink.equals("https://ekstraklasa.tv/ekstraklasa-tv,83,m.xml")) {
                continue;
            }
                try {
                    Document xml = Jsoup.connect(urlLink).get();
                    list.add(new WebContent(urlTitle, urlLink, xml));
                } catch (Exception error) {
                    System.out.println(error);
                }
            }
    }
    catch(Exception error) {
        System.out.println(error);
    }
    return list;
}

0 个答案:

没有答案