簡體   English   中英

assertEquals()和Assert.assertEquals()之間的JUnit測試差異

[英]JUnit test difference between assertEquals() and Assert.assertEquals()

我制作了一種方法來計算String中給定字符的出現。

public Integer numberOf(String str, Character a){}

我嘗試使用以下方法進行正常測試:

@Test
public void test1(){
    Integer result = oc.numberOf("Lungimirante", 'u');
    Assert.assertEquals(1, result);
}

但是Eclipse抱怨。

我用谷歌搜索,發現要測試它,我需要使用:

assertEquals(1, result); //it works correctly

而不是: Assert.assertEquals(1, result);

您能解釋一下為什么嗎? 有什么區別?

您沒有為此提供任何詳細信息:

Eclipse抱怨它。

我懷疑這是一個Ambiguous method call ...

在此處輸入圖片說明

...是由assertEquals多個“形式”引起的,其中的一些形式為int,一些long,一些Object,一些String等。

因此,您只需要明確說明要使用哪一個即可。 例如,以下兩個assertEquals調用均會編譯,因為它們對expected參數和actual參數的類型都是明確的:

Integer result = oc.numberOf("Lungimirante", 'u');
Assert.assertEquals(new Integer(1), result);
Assert.assertEquals(1, result.intValue());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM