Java Mock测试工具比较
最近,在做一个Java Web的项目,项目中需要集成一套Mock测试工具。随即对市面上的mock测试工具进行了调研,下面是调研结果。其中,mock测试工具分为单元测试级别的mock工具和接口测试级别的mock工具。
1.单元测试级别的mock工具
目前,这个级别的mock工具有easymock、jMock、Mockito、Unitils Mock、PowerMock、JMockit等等.
关于它们的优劣势在JMockit官网上给出一个简单的比较,结果如下图所示。这个结果可能会偏向JMockit,我们可以作为参考。
Features:
Feature | EasyMock | jMock | Mockito | UnitilsMock | PowerMock(EasyMock) | PowerMock(Mockito) | JMockit |
---|---|---|---|---|---|---|---|
Invocation count constraints(调用数限制) | √ | √ | √ | √ | √ | √ | |
Recording strict expectations(记录严格的预期结果) | √ | √ | √ | √ | |||
Explicit verification(显式验证) | √ | √ | √ | √ | |||
Partial mocking(部分mock) | √ | √ | √ | √ | √ | √ | |
Easier argument matching based on properties |