我想了解我在这里做错了。
from enum import Enum, auto
class colors(Enum):
red= auto()
green= auto()
yellow= auto()
这是我的课程。
def is_first(self):
return self is not colors.red
我的第一个功能。
def second(self):
if self is colors.red:
return ''
elif self is green:
return 'second_type'
elif self is yellow:
return 'third_type'
我在测试中做错了什么,我需要他们全部通过。
@pytest.mark.parametrize('input_str, expected_result',
[('aa', False)])
def test_is_first(input_str, expected_result):
assert is_first(input_str) is expected_result
还有第二个功能
@pytest.mark.parametrize('input_str, expected_result',
[('', True),
('second_type', True),
('third_type', True),
('aa', False)])
def test_second(input_str, expected_result):
assert second(input_str) is expected_result
答案 0 :(得分:1)
@pytest.mark.parametrize('input_str, expected_result',
[('', True),
('second_type', True),
('third_type', True),
('aa', False)])
def test_second(input_str, expected_result):
assert second(input_str) is expected_result
您写道:
def second(self):
if self is colors.red:
return ''
elif self is green:
return 'second_type'
elif self is yellow:
return 'third_type'
这将通过测试:
def second(self):
if self == '':
return True
elif self == 'second_type':
return True
elif self == 'third_type':
return True
elif self 'aa':
return False
您的assert is_first(input_str) is expected_result
将会失败。
def is_first(self):
return self is not colors.red
这将返回True
或False
。您的expected_result
正在针对字符串检查布尔值。