遇到的问题:所有的用例,无论是否skip标记,都会skip掉
代码是:
import pytest
def test_01():
print("---用例a执行---")
assert 1
class TestCase1:
def test_b(self):
print("--->test_b")
assert 1
def test_a(self):
print("--->test_a")
assert 0
if __name__ == "__main__":
pytest.main(["-s","tstCase1.py"])
运行结果:
E:\my_learn\my_appium_project\venv\Scripts\python.exe E:/my_learn/my_appium_project/django_appium/testcases/tstCase1.py
============================= test session starts =============================
platform win32 -- Python 3.7.4, pytest-6.2.1, py-1.10.0, pluggy-0.13.1
rootdir: E:\my_learn\my_appium_project\django_appium\testcases
plugins: appium-0.1, html-3.1.1, metadata-1.11.0, variables-1.9.0
collected 3 items
tstCase1.py sss
============================= 3 skipped in 0.02s ==============================
Process finished with exit code 0
所有用例无论是否打skip标记都会skip掉,即使将代码中所有用例skip掉
排除问题的过程:
加入–v标签后,会打印更多信息
网上搜索:“no variables file” ,发现很多都遇到这样的问题,是因为安装了pytest-appium插件。这个插件在执行pytest案例时,首先会执行一个appium的前置条件
转自: https://www.cnblogs.com/xiaoguo-/p/12124298.html
去掉该插件,再运行用例正常:
plugins: html-3.1.1, metadata-1.11.0, variables-1.9.0
collecting ... collected 3 items
tstCase1.py::test_01 ---用例a执行---
PASSED
tstCase1.py::TestCase1::test_b --->test_b
PASSED
tstCase1.py::TestCase1::test_a --->test_a
FAILED
================================== FAILURES ===================================
______________________________ TestCase1.test_a _______________________________
self = <django_appium.testcases.tstCase1.TestCase1 object at 0x0000020FFE9EAB48>
def test_a(self):
print("--->test_a")
> assert 0
E assert 0
tstCase1.py:17: AssertionError
=========================== short test summary info ===========================
FAILED tstCase1.py::TestCase1::test_a - assert 0
========================= 1 failed, 2 passed in 0.03s =========================
Process finished with exit code 0