簡體   English   中英

如何檢查方法是否返回空值?

[英]How to check whether a method returns a null?

Assert.assertThat(refVar.method(), is(null)); 

代碼 is(null) 是否正確檢查 refVar.method() 是否返回空值? 如果不是,我如何檢查某些東西是否為空? 我試過 aNull 但 IDE 說這個方法不存在,我已經嘗試導入 Matcher.* 了。 請幫忙。

空或非空

匹配器aNull<T>(Class<T>)aNonNull<T>(Class<T>)指定參數為nullnot null

以下代碼指定必須使用兩個strings調用方法“doSomething”,第一個必須為null ,第二個必須not null

oneOf (mock).doSomething(with(aNull(String.class)), aNonNull(String.class)));

檢查此jMock Matchers以獲得更多說明

看起來 jMock 不是執行此操作的正確工具。 模擬通常用於對某些類/接口進行某種虛擬實現,而不是在單元測試中具有某些類/接口的實際生產實現。 使用 jMock,您可以編寫如下代碼:

當使用參數42調用方法foo ,該對象/接口的模擬應返回字符串"abc"

但是,jMock 不會檢查現有類是否會返回您期望的值。 這就是“基本”JUnit 測試將要做的事情。 因此,您實例化要檢查的類並調用要驗證它確實返回應返回的值的方法。 所以你寫這樣的東西:

Assertions.assertNull(refVar.method());

這將驗證refVar.method()調用的返回值是否會返回null 這里不需要 jMock。

暫無
暫無

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

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