Pytestユニットテストフレームマーク例
15470 ワード
1、Pytestにおけるタグ使用例パラメータ-kを接続して実行するテスト項目を選択 pytest -k test_szdcs -s test_szdcsは関数名 -kに続く名前は、関数名、クラス名、ファイル名、ディレクトリ名 とすることができる.大文字と小文字の区別 は、ファジイマッチング をサポートする.は、選択例名に含まれない内容をnotで表すことができ、以下の である.
は、選択する使用例名に複数のキーワードが同時に含まれることをandで表すことができ、以下の である.
は、選択する用例名のうちの1つのキーワードをorで表すことができる、以下の である.
ラベルの実行に必要なテスト項目を指定します. @pytest .mark.tag tagはカスタムラベル名 メソッドにラベル を付けることができる.クラス全体にラベル を付けることもできる.は、グローバルタグ を定義することもできる.
pytest test_demo1.py -m tag -s pytestの後にクラス名、ファイル名、ディレクトリ名 を接続できます.-m後付けラベル名
2、Pytestのskipスキップ例タグskipは、この例をスキップし、実行しないことを示す pytest.mark.skip(reason="str")
3、Pytestのskipifスキップ例は、この用例 を無視するか否かを条件で判断する.判断条件式pytest.mark.skipif(condition,reason="str")
class Test01():
def test_szdcs(self):
print(" ")
def test_gzdcs(self):
print(" ")
class Test02():
def test_shdcs(self):
print(" ")
# pytest -k "not sz" -s
#
test_demo1.py
.
.
class Test01():
def test_szdcs(self):
print(" ")
def test_gzdcs(self):
print(" ")
class Test02():
def test_shdcs(self):
print(" ")
# pytest -k "g and z" -s
#
test_demo1.py
.
class Test01():
def test_szdcs(self):
print(" ")
def test_gzdcs(self):
print(" ")
class Test02():
def test_shdcs(self):
print(" ")
# pytest -k "sh or sz" -s
#
test_demo1.py
.
.
#
import pytest
class Test01():
def test_szdcs(self):
print(" ")
@pytest.mark.tag
# , tag
def test_gzdcs(self):
print(" ")
class Test02():
def test_shdcs(self):
print(" ")
# pytest test_demo1.py -m tag -s
#
test_demo1.py
.
#
import pytest
class Test01():
def test_szdcs(self):
print(" ")
def test_gzdcs(self):
print(" ")
@pytest.mark.tag
class Test02():
def test_shdcs(self):
print(" ")
# pytest test_demo1.py -m tag -s
#
test_demo1.py
.
import pytest
#
mark = pytest.mark.tag
class Test01():
def test_szdcs(self):
print(" ")
def test_gzdcs(self):
print(" ")
class Test02():
def test_shdcs(self):
print(" ")
# pytest -m tag -s
#
test_demo1.py
.
.
.
2、Pytestのskipスキップ例
# skip,
import pytest
class Test01():
def test_szdcs(self):
print(" ")
@pytest.mark.skip(reason=" ")
def test_gzdcs(self):
print(" ")
class Test02():
def test_shdcs(self):
print(" ")
# pytest -sv test_demo1.py
#
test_demo1.py::Test01::test_szdcs
PASSED
test_demo1.py::Test01::test_gzdcs
SKIPPED
test_demo1.py::Test02::test_shdcs
PASSED
# skip,
import pytest
@pytest.mark.skip(reason=" ")
class Test01():
def test_szdcs(self):
print(" ")
def test_gzdcs(self):
print(" ")
class Test02():
def test_shdcs(self):
print(" ")
# pytest -sv test_demo1.py
#
test_demo1.py::Test01::test_szdcs
SKIPPED
test_demo1.py::Test01::test_gzdcs
SKIPPED
test_demo1.py::Test02::test_shdcs
PASSED
3、Pytestのskipifスキップ例
import pytest
class Test01():
def test_szdcs(self):
print(" ")
@pytest.mark.skipif(2>1,reason=" ")
def test_gzdcs(self):
print(" ")
class Test02():
def test_shdcs(self):
print(" ")
# pytest -sv test_demo1.py
#
test_demo1.py::Test01::test_szdcs
PASSED
test_demo1.py::Test01::test_gzdcs
SKIPPED
test_demo1.py::Test02::test_shdcs
PASSED