python-在pytest中替换测试用例?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-在pytest中替换测试用例?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1498字,纯文字阅读大概需要3分钟。
内容图文
![python-在pytest中替换测试用例?](/upload/InfoBanner/zyjiaocheng/669/a8ef9c68f70e4037856f17ca3817d1cb.jpg)
背景
在Python的unittest框架中,在基础测试集上使用继承将整个测试集应用于新问题,并偶尔添加其他测试是相当普遍的习惯用法.一个简单的例子是:
from unittest import TestCase
class BaseTestCase(TestCase):
VAR = 3
def test_var_positive(self):
self.assertGreaterEqual(self.VAR, 0)
class SubTestCase(BaseTestCase):
VAR = 8
def test_var_even(self):
self.assertTrue(self.VAR % 2 == 0)
运行时将运行3个测试:
$python -m unittest -v
test_var_positive (test_unittest.BaseTestCase) ... ok
test_var_even (test_unittest.SubTestCase) ... ok
test_var_positive (test_unittest.SubTestCase) ... ok
----------------------------------------------------------------------
Ran 3 tests in 0.000s
如果您要测试一个类层次结构(父类的每个子类is a子类型为子类),并且因此除了自己的子类之外,还应该能够通过父类的测试套件,则此功能特别有用.
问题
我想切换到使用pytest,但是我有很多以此方式构建的测试.据我所知,pytest打算用fixture替换TestCase类的大部分功能,但是是否有一个允许测试继承的pytest习惯用法,如果可以的话,那是什么?
我知道pytest可以用于运行unittest风格的测试,但是the support is limited是,我想在我的测试中使用pytest的某些“永远不会被支持”功能.
解决方法:
Pytest允许您将测试用例按类分组,因此它自然支持测试用例继承.
在将单元测试测试重写为pytest测试时,请记住遵循pytest’s naming guidelines:
>类名必须以Test开头
>函数/方法名称必须以test_开头
不遵守此命名方案将阻止收集和执行测试.
为pytest重写的测试如下所示:
class TestBase:
VAR = 3
def test_var_positive(self):
assert self.VAR >= 0
class TestSub(TestBase):
VAR = 8
def test_var_even(self):
assert self.VAR % 2 == 0
内容总结
以上是互联网集市为您收集整理的python-在pytest中替换测试用例?全部内容,希望文章能够帮你解决python-在pytest中替换测试用例?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。