2024-04-20 03:12:51 发布
网友
我有一个测试失败了,但我希望它失败,我想说它通过了。我该怎么做?你知道吗
例如,我有一个最小值=30,最大值=40。你知道吗
下面是我要做的:
@pytest.mark.parametrize( "minimum, maximum, expected_min, expected_max", [ (13, 15, 34, 45), (30, 40, 30, 40), ("sd", 3, 34, 45), ])
我收到:
我怎么能有报告说所有的测试都通过了?你知道吗
要基于frollo's answer构建一个基于您的用例的实际示例,请考虑下面的代码。我们把原始的测试数据分成两组:我们期望通过的和我们期望失败的。像这样的单元测试应该单独测试一种情况,使每个测试用例更容易编写和理解。你知道吗
import pytest class TestMinMax: @pytest.mark.parametrize( "minimum, maximum, expected_min, expected_max", [ (30, 40, 30, 40), ]) def test_valid_examples(self, minimum, maximum, expected_min, expected_max): assert minimum == expected_min assert maximum == expected_max @pytest.mark.parametrize( "minimum, maximum, expected_min, expected_max", [ (13, 15, 34, 45), ("sd", 3, 34, 45), ]) def test_invalid_examples(self, minimum, maximum, expected_min, expected_max): with pytest.raises(AssertionError): assert minimum == expected_min assert maximum == expected_max if __name__ == '__main__': pytest.main(args=[__file__])
输出
============================= test session starts ============================= platform win32 Python 3.5.2, pytest-3.0.1, py-1.4.31, pluggy-0.3.1 rootdir: C:\Users\<<user>>\.PyCharmCE2016.3\config\scratches, inifile: collected 3 items scratch_3.py ... ========================== 3 passed in 0.02 seconds ===========================
最好的做法(如果这是代码的预期行为)是编辑测试以反映预期行为。测试用例不仅仅用于获取报告,您可以向您的经理/客户/同事/等展示,它们也是文档的一种形式。测试用例向人们展示了您代码的预期行为,因此任何看到该测试的人都会认为您的代码将接受这里显示的所有输入。你知道吗
如果第一个和第三个输入是非法的,您应该创建一个不同的测试用例,测试代码如何处理非法输入。你知道吗
要基于frollo's answer构建一个基于您的用例的实际示例,请考虑下面的代码。我们把原始的测试数据分成两组:我们期望通过的和我们期望失败的。像这样的单元测试应该单独测试一种情况,使每个测试用例更容易编写和理解。你知道吗
输出
最好的做法(如果这是代码的预期行为)是编辑测试以反映预期行为。测试用例不仅仅用于获取报告,您可以向您的经理/客户/同事/等展示,它们也是文档的一种形式。测试用例向人们展示了您代码的预期行为,因此任何看到该测试的人都会认为您的代码将接受这里显示的所有输入。你知道吗
如果第一个和第三个输入是非法的,您应该创建一个不同的测试用例,测试代码如何处理非法输入。你知道吗
相关问题 更多 >
编程相关推荐