我通常开始测试应用程序,我想创建一些测试以在Spring中学习Mockito。我一直在阅读一些信息,但是我想问一些普遍的疑问。
谢谢。
@RunWith(MockitoJUnitRunner.class)
使用此声明,您应该编写一个 单元测试 。单元测试使用一个模拟所有依赖项的类。通常,您将在测试案例中注入这样声明的模拟依赖项:
@Mock private YourDependency yourDependencyMock;
@RunWith(SpringJUnit4ClassRunner.class)
SpringRunner是用于 集成测试 ( 组件测试 ?)的。在这种类型的测试中,您要行使大量的类,换句话说,您正在测试具有真实依赖项的单个类(使用真实服务,DAO,内存数据库等)
您的应用程序中可能应该同时具有两个类别。虽然建议更多的单元测试和很少的烟雾集成测试,但是我经常发现自己对只编写集成测试更加有信心。
关于第二个问题,您应该具有:
*对每个类别(控制器,服务,DAO)分别进行 *单元测试 ,并模拟所有其他类别
*整个CRUD操作的 *集成测试 。例如,创建一个练习控制器,服务,DAO和内存数据库的用户。