是否可以使用pytest从代码运行测试?我确实找到了pytest.main
,但它只是代码中提供的命令行界面。我想从代码中传递一个测试类/函数。
在单元测试中它可能是这样的:
from unittest import TestLoader, TestCase, TestResult
class TestMy(TestCase):
def test_silly(self):
assert False
runner = TestLoader()
test_suite = runner.loadTestsFromTestCase(TestMy)
test_result = TestResult()
test_suite.run(test_result)
print(test_result)
答案 0 :(得分:2)
是的,例如,这样是可能的:
from pytest import main
class TestMy:
def test_silly(self):
assert False
main(['{}::{}'.format(__file__, TestMy.__name__)])
您可以将任何参数传递给main
,就像从命令行中调用一样。