擅长:python、mysql、java
<p>您可以定义自动使用装置,该装置将<code>CaptureFixture</code>对象(由<code>capsys</code>装置返回)存储为实例属性:</p>
<pre><code>class TestMain(TestCase):
@pytest.fixture(autouse=True)
def inject_capsys(self, capsys):
self._capsys = capsys
def run_prog(self, args):
main.main()
return self._capsys.out
def test_out(self):
assert self.run_prog('spam') == 'eggs'
</code></pre>
<p>每个测试都将重新运行<code>TestMain.inject_capsys</code>夹具,以保证测试隔离(来自<code>test_one</code>的输出不会泄漏到<code>test_two</code>等中)</p>