該場景是我正在嘗試驗證域對象並將驗證消息存儲在另一個對象中。類是Validator
和方法的樣子:Mockito:如何獲得參數的狀態
public void validate (Domain domain, ValidationInfo info)
而且ValidationInfo
對象有:
List<String> messages = new ArrayList<String> messages()
的Validator
類是從一個服務類調用。無論域對象的驗證失敗,失敗消息都將存儲在ValidationInfo
類的列表中。
在測試用例的一個服務測試類我寫了下面的測試驗證失敗:
@Test
public void testvalidation() throws Exception {
Domain domain = createDomainWithInvalidData();
service.create (domain);
verify(mockValidator).validate(domain, validationInfo);
assertFalse (validationInfo.getMessages().isEmpty());
現在,我要的是從validationInfo
對象獲取失敗的消息讓我能根據它寫一些斷言。但它不起作用。
任何人都可以對此有所瞭解。
謝謝你的想法,布賴斯。你說得對,我正在測試'服務'。但出於好奇,有沒有辦法去做我以前問過的事情。如果是這樣的話。我嘗試使用'ArgumentCaptor',但它不工作。 – Subhash