大家好,又见面了,我是你们的朋友全栈君。
Pytest在命令行
中支持多种方式来运行和选择测试用例
pytest
pytest test_mod.py
pytest testing
pytest -m slow
这种方式会运行所有通过装饰器 @pytest.mark.slow
进行装饰的测试用例。
pytest -k "MyClass and not method"
这种方式会执行文件名,类名以及函数名与给定的字符串表达式相匹配的测试用例。 上面的用例会执行TestMyClass.test_something
但是不会执行TestMyClass.test_method_simple
每个被选中的测试用例都会被分配一个唯一的nodeid,它由模块文件名和以下说明符组成:参数化的类名、函数名和参数,用::分隔。
# 测试test_1.py文件下的TestClass类下的test_method方法
pytest test_1.py::TestClass::test_method
# test1.py文件
class TestClass(object):
def test_one(self):
x = "hello"
assert 'h' in x
def test_method(self): # 测试的就是这个方法
x = "hello"
assert 'h' in x
pytest --pyargs pkg.testing
这将会导入pkg.testing
并使用其文件系统位置来查找和运行测试。
pytest -q test_1.py
pytest -s test_1.py
pytest -x test_1.py
pytest --maxfail=2 test_1.py
1.新建一个工程后,左上角Pycharm->Preference->Tools->Python Integrated Tools->Default test runner->选择pytest
2.pytest是可以兼容unittest脚本的,之前写的unittest用例也能用pytest框架去运行
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/165266.html原文链接:https://javaforall.cn