mockito初始化参数
与未开发的项目相比,维护项目并不有趣,但可以肯定的是,此项目提供了大部分内容。 这个星期我没有检查生产代码而是检查了测试。 在测试中看到的内容揭示了生产代码本身是如何编写的。 这是一种以更少的风险使事情变得更好的方法。
起初,我只想删除尽可能多的PowerMock使用。 然后我发现大多数Mockito间谍都是没有必要的。 然后我发现Mockito模拟是在同一文件中以3种不同的方式初始化的。 然后用法都given()
和when()
在同一个班级,然后用法when()
和doReturn()
在同一类......而且很多可以改进的更多领域。
在本文中,我将限制自己总结一下在测试类中初始化模拟的3种方法:选择并选择最喜欢的模拟,但是请在您的类中坚持使用(如果不是您的项目)。 一致性是可维护性的Struts之一。
提醒
单元测试是软件质量的重要基础(但不是唯一的基础!)。 由于面向对象的设计要使多个组件各自承担职责,因此确保每个组件以适当的方式执行其任务至关重要。 因此,我们必须使用已知的输入来输入组件,并检查输出的有效性。 因此,孤立地测试组件需要一种方法来用我们控制范围内的输入提供者和输出接收者替换依赖关系。 Mockito是这样的框架(除其他外),您可以实现它。
首先,可以使用不同的方式来创建这些模拟(我将使用Mockito措辞代替标准方式 )。