使用assert测试重复项

时间:2017-06-21 06:28:58

标签: java selenium-webdriver junit assertions

  public void HStringTest(String[] SArray){
        HashSet<String> F = new HashSet<String>();
        for(String aryElement : stringArray){
            if(!F.add(aryElement)){
                System.out.println("Duplicate" + aryElement);
            }
        }

    }

为了测试上面我只是在@Test下的另一个类中调用该方法。 运行得很好,但我如何断言测试?

2 个答案:

答案 0 :(得分:0)

您只需使用assert f.add(aryEelement);或使用org.junit.Assert作为测试类:

@Test
public void HStringTest(String[] sArray){
    HashSet<String> f = new HashSet<String>();
    for(String aryElement : sArray){
        Assert.assertTrue("Duplicate " + aryElement, f.add(aryElement));
    }
}

提示:由于命名约定,变量以小写字母开头

答案 1 :(得分:0)

有一个更简单的测试:

assertThat(sArray.length, is( ( new HashSet<>(Arrays.asList(sArray)).size() );

换句话说:只需数组转换为Set;然后检查数组和集合是否具有相同数量的条目。

(其中hamcrest匹配器)