pytest框架–pytest.main()运行测试用例

  • Post author:
  • Post category:其他





一、pytest.main( )参数

pytest.main()是pytest单元测试框架的运行入口



main() 命令行可传入参数:




-s: 显示程序中的print/logging输出

-v: 丰富信息模式, 输出更详细的用例执行信息

-q: 安静模式, 不输出环境信息

-x: 出现一条测试用例失败就退出测试

-k:可以使用and、not、or等逻辑运算符,匹配范围(文件名、类名、函数名)



二、pytest.main( )使用


main( )里传入参数为列表


1、pytest.main()


不传入参数,等同控制台输入pytest


2、pytest.main([“-s”])



等同于控制台输入:pytest -s

import pytest
def test_one():
	pass
	
if __name__ == '__main__':
    pytest.main(["-s"])


3、pytest.main([“-s”,“-v”,“-x”])



等同于控制台输入:pytest -s -v -x



三、pytest.main( )指定运行



1、运行所有用例

运行所有用例,以test_

开始或

_test结尾的py

import pytest
def test_one():
	pass
	
if __name__ == '__main__':
    pytest.main()



2、运行指定目录的用例

import pytest
def test_one():
	pass
	
if __name__ == '__main__':
    pytest.main(["./testcase/product"])



3、运行指定py的用例

import pytest
def test_one():
	pass
	
if __name__ == '__main__':
    pytest.main(["./testcase/product/test_add_product.py"])



4、运行指定py的测试类用例

python
import pytest
def test_one():
	pass
	
if __name__ == '__main__':
    pytest.main(["./testcase/product/test_add_product.py::TestProduct"])



5、运行指定py的测试类中的用例

import pytest
def test_one():
	pass
	
if __name__ == '__main__':
    pytest.main(["./testcase/product/test_add_product.py::TestProduct::test_add_01"])



6、匹配包含关键词的用例(匹配目录名、模块名、类名、用例名)

运行关键词含:pan的用例

import pytest
def test_one():
	pass
	
if __name__ == '__main__':
    pytest.main(['-k','pan'])



版权声明:本文为weixin_44688529原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。