我们有一个大型python项目,使用pytest测试,目前有单元测试样式类,我们开始将其迁移到基于模块的函数式测试.
我们是否应该:
>将我们的大型测试基础分成许多小型,独立的pytest固定装置;要么
>维护一个大型夹具,懒洋洋地进口所有其他固定装置.
许多灯具的优点:
>模块化,可能易于维护
>每个测试仅使用它所需的
一个大型夹具的优点:
我们应该做什么?只要有解释,任何意见都是受欢迎的.谢谢 :)
解决方法:
使用特定灯具比大灯具有很多优点.由于这个pytest获得了它的普及.
>不同的灯具可以再现被测系统的各种互斥状态.当您想要测试系统行为的各种情况时,这非常有用.单个夹具不具备这种灵活性.
> Pytest允许您灵活地组装对夹具的调用,when one fixture uses the results of the execution of another.分解是一种有效的编程模式,测试也不例外.
> Fixtures in pytest can be parameterized,这是一个非常有用的功能,但如果你为所有测试制作一个大装置,它的应用是不可能的.
> Conftest.py is a directory specific in pytest.因此,pytest中的灯具可以是全局的(位于conftest中),本地(位于测试模块内)和中间(位于封装级别的conftest中).这允许您重用公共代码,同时在特定情况下不会失去灵活性.
> Fixtures have scope(功能,类,模块,会话),提供额外的灵活性.
pytest框架的根本思想是在必要时在这些级别使用灯具.与xUnit样式相比,这是一个很大的优势,但是如果你不使用这些优点,那么转换到pytest是没有意义的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。