擅长:python、mysql、java
<p>如果从<code>unittest.TestCase</code>派生子类,则测试方法不能有其他参数。如果您只是从<code>object</code>中进行子类划分,它就可以工作了(尽管您必须使用常规的<code>assert</code>语句而不是<code>TestCase.assertEqual</code>方法。</p>
<pre><code>import unittest
import pytest
class TestCase(object):
@pytest.mark.parametrize("test_input,expected", [
("3+5", 8),
("2+4", 6),
("6*9", 42),
])
def test_1(self, a, b):
assert eval(a) == b
</code></pre>
<p>不过,在这一点上,它有点回避了为什么要使用类而不是仅仅定义函数的问题,因为测试本质上是相同的,但需要较少的总体样板和代码。</p>