Django 测试方法、夹具或模拟?
Django testing method, fixture or mock?
在我的项目中,我使用pytest为我的程序编写单元测试用例。但是后来我发现我的程序里有很多db操作,ORM的东西。
我知道单元测试应该运行快,但单元测试和自动集成测试除了快之外还有什么不同。
我应该只使用数据库 fixture 而不是模拟它们吗?
单元测试和集成测试之间的主要区别在于集成测试处理两个或多个 "units" 之间的交互。就像这样,单元测试并不特别关心它周围的代码会发生什么,只要单元测试中的代码按设计运行即可。
关于你的第二个问题,如果你觉得单元测试套件中的数据库和固定装置花费的时间太长 运行,模拟是一个很好的解决方案。
在我的项目中,我使用pytest为我的程序编写单元测试用例。但是后来我发现我的程序里有很多db操作,ORM的东西。
我知道单元测试应该运行快,但单元测试和自动集成测试除了快之外还有什么不同。
我应该只使用数据库 fixture 而不是模拟它们吗?
单元测试和集成测试之间的主要区别在于集成测试处理两个或多个 "units" 之间的交互。就像这样,单元测试并不特别关心它周围的代码会发生什么,只要单元测试中的代码按设计运行即可。
关于你的第二个问题,如果你觉得单元测试套件中的数据库和固定装置花费的时间太长 运行,模拟是一个很好的解决方案。