【发布时间】:2016-02-22 19:08:58
【问题描述】:
我目前正在关注这个 py.test 示例,当我不使用类时它可以解决,但是当我将测试用例引入类时我失败了。
我设法写的最小的情况如下:
import unittest
import pytest
class FixtureTestCase(unittest.TestCase):
@pytest.mark.parametrize("test_input,expected", [
("3+5", 8),
("2+4", 6),
("6*9", 42),
])
def test_1(self, a, b):
self.assertEqual(a, b)
不幸的是当我执行时
py.test test_suite.py
我收到错误消息:
TypeError: test_1() takes exactly 3 arguments (1 given)
如何才能生成一组 test_1 测试?
【问题讨论】:
-
你的类需要是
TestCase的子类吗? -
目前,这不是强制性的,我需要的是参数化定义到一个类中的测试
-
对于
TestCase方法的参数化测试,这个旧问题的答案似乎仍然有效:stackoverflow.com/questions/18182251/… 简而言之:混合这两个概念是行不通的。
标签: python unit-testing automated-tests pytest