我有以下Python代码:
import pytest
class Apple:
@pytest.mark.parametrize("kind", ['fruit', 'veg', 'nuts'])
def mix_kind_and_colour(self, kind):
print(kind)
return self
def runner():
return Apple.mix_kind_and_colour()
if __name__== "__main__":
runner()
但是我得到这个错误:
TypeError:mix_kind_and_colour()缺少2个必需的位置参数:“ self”和“ kind”
我该如何解决?
答案 0 :(得分:2)
请看看pytest的docu,这很好。
在您需要对测试进行分组之前,您不需要课程。
但是您需要遵循一些naming conventions。
从终端运行pytest
命令的test_sample.py的简单工作示例为:
import pytest
@pytest.mark.parametrize("kind", ['fruit', 'veg', 'nuts'])
def test_mix_kind_and_colour(kind):
print(kind)
如果要使用一个类,请尝试为以下内容运行pytest
:
import pytest
class TestApple:
@pytest.mark.parametrize("kind", ['fruit', 'veg', 'nuts'])
def test_mix_kind_and_colour(self, kind):
print(kind)
但是您还需要一些assertions来进行测试吗?!?
# content of test_assert1.py
def f():
return 3
def test_function():
assert f() == 4