gpt4 book ai didi

python - 使用 pytest 控制运行哪些测试

转载 作者:行者123 更新时间:2023-11-28 21:07:08 24 4
gpt4 key购买 nike

我正在考虑将一些 unittest.TestCase 测试转换为 Pytest 测试以利用 Pytest 的固定装置。 unittest 的一项功能是创建测试套件并运行它们的能力,但我无法轻易在 Pytest 中找到与之对应的功能。我目前经常做这样的事情:

import unittest

class TestSomething(unittest.TestCase):
def test_1(self):
self.assertEqual("hello".upper(), "HELLO")

def test_2(self):
self.assertEqual(1+1, 2)

if __name__ == "__main__":
suite = unittest.TestSuite()
# suite.addTest(TestSomething('test_1'))
suite.addTest(TestSomething('test_2'))
runner = unittest.TextTestRunner()
runner.run(suite)

通过使用 addTest 注释行,我可以轻松选择要运行的测试。我如何使用 Pytest 做类似的事情?

最佳答案

您可以使用-k 参数来运行特定的测试。例如

# put this in test.py
import unittest

class TestSomething(unittest.TestCase):
def test_1(self):
self.assertEqual("hello".upper(), "HELLO")

def test_2(self):
self.assertEqual(1+1, 2)

运行类 TestSomething 中的所有测试可以像这样完成:

py.test test.py -k TestSomething

只运行test_2:

py.test test.py -k "TestSomething and test_2"

documentation 中的更多示例

关于python - 使用 pytest 控制运行哪些测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41853509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com