1. 程式人生 > >JMock實踐---(三)從Mock物件的方法丟擲異常

JMock實踐---(三)從Mock物件的方法丟擲異常

宣告:

Author:趙志乾

Date:2017-7-30

Declaration:All Right Reserved!!!

從Mock物件的方法丟擲異常

1、throwException動作

    可以在will子句中使用throwException動作從Mock物件的方法中丟擲異常,如下例所示:

allowing (bank).withdraw(with(any(Money.class))); 
    will(throwException(new WithdrawalLimitReachedException());

    注:JMock會檢測你試圖丟擲的代檢異常是否與被調的Mock物件方法相容。如果不相容,JMock將會設定該測試失敗並給出描述性的錯誤資訊。如下例所示:

allowing (bank).withdraw(Money.ZERO); 
    will(throwException(new IllegalArgumentException("you cannot withdraw nothing!");

2、JMock允許Mock物件的方法丟擲任何執行時異常和錯誤。

注:本部落格中的例項程式碼均來自於JMock Cookbook。