私は鼻からpytestへの一連のテストを移行しようとしていますが、私は全プロセスを検証する1つのテストの移行に問題があります。pytestとyieldベースのテスト
def is_equal(a, b):
assert a == b
def inner():
yield is_equal, 2, 2
yield is_equal, 3, 3
def test_simple():
yield is_equal, 0, 0
yield is_equal, 1, 1
for test in inner():
yield test
yield is_equal, 4, 4
yield is_equal, 5, 5
def test_complex():
integers = list()
def update_integers():
integers.extend([0, 1, 2, 3, 4, 5])
yield update_integers
for x in integers:
yield is_equal, x, x
test_simpleは鼻とpytest間の細かい動作しますが、唯一の初期update_integersテストtest_complex実行します:
~/projects/testbox$ nosetests -v
test_nose_tests.test_simple(0, 0) ... ok
test_nose_tests.test_simple(1, 1) ... ok
test_nose_tests.test_simple(2, 2) ... ok
test_nose_tests.test_simple(3, 3) ... ok
test_nose_tests.test_simple(4, 4) ... ok
test_nose_tests.test_simple(5, 5) ... ok
test_nose_tests.test_complex ... ok
test_nose_tests.test_complex(0, 0) ... ok
test_nose_tests.test_complex(1, 1) ... ok
test_nose_tests.test_complex(2, 2) ... ok
test_nose_tests.test_complex(3, 3) ... ok
test_nose_tests.test_complex(4, 4) ... ok
test_nose_tests.test_complex(5, 5) ... ok
----------------------------------------------------------------------
Ran 13 tests in 0.004s
~/projects/testbox$ pytest -v
==================================================================== test session starts =====================================================================
platform linux2 -- Python 2.7.12, pytest-3.0.6, py-1.4.32, pluggy-0.4.0 -- /usr/bin/python
cachedir: .cache
rootdir: /home/local/ANT/cladam/projects/testbox, inifile:
collected 7 items
tests/test_nose_tests.py::test_simple::[0] PASSED
tests/test_nose_tests.py::test_simple::[1] PASSED
tests/test_nose_tests.py::test_simple::[2] PASSED
tests/test_nose_tests.py::test_simple::[3] PASSED
tests/test_nose_tests.py::test_simple::[4] PASSED
tests/test_nose_tests.py::test_simple::[5] PASSED
tests/test_nose_tests.py::test_complex::[0] PASSED
=================================================================== pytest-warning summary ===================================================================
WC1 /home/local/ANT/cladam/projects/testbox/tests/test_nose_tests.py yield tests are deprecated, and scheduled to be removed in pytest 4.0
....
======================================================== 7 passed, 7 pytest-warnings in 0.01 seconds =========================================================
私はこのことを想定していますが
私は私の問題を表現するためにそれをダウン易しく書き直されています収集時には整数リストは空であり、これは6つの追加の収穫を集めないためです。
pytestでこのテスト構造を複製する方法はありますか? via pytest_generate_tests?
このテストは、オブジェクトを構築して操作し、プロセスの各段階でテストする一連のイベントを表しています。
- モデル何か
- 変化があるかどうかを確認するために既知の出力に対するモデル
- 差分に基づいてファイルを作成し、出力いくつかのモデルプロパティ
- を検証します。
あなたのテストの出力が示すように、事前