簡體   English   中英

為什么在使用EasyMock時拋出NullPointerException

[英]Why is NullPointerException thrown while using EasyMock

下面是我的測試代碼:

@TestSubject
MathApplication mathApplication = new MathApplication();

@Mock
CalculatorService calculatorService;

@Test
public void testAdd() {
    EasyMock.expect(calculatorService.add(10.0, 20.0)).andReturn(30.00);

    Assert.assertEquals(30.0, mathApplication.add(10.0, 20.0), 0);
}

CalculatorService是一個接口,它定義了add()方法,該方法將在類MathApplication的add()方法中調用。 如您所見,沒有調用EasyMock.replay() ,因此當我運行測試類時,結果顯示為:

java.lang.AssertionError:預期的:30.0實際的:0.0

令我困惑的是,由於未實現CalculatorService,為什么沒有拋出NullPointerException?

EasyMock實現了CalculatorService因為您已使用@Mock對其進行了注釋,並在適當的EasyMock TestRunner(或Rule)中運行。 但是,由於在聲明時它仍處於記錄模式,因此所有方法都是合法的,但是它們將返回一些垃圾默認值,例如0。

暫無
暫無

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

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