【发布时间】:2019-07-16 04:39:27
【问题描述】:
如何测试工作流程 - 使用单独测试或参数化测试?
我有这样的工作流程
A -> B -> c -> D -> E -->Z
用户可以跳过 A 和 Z 之间的任何步骤,但不能跳过 A 和 Z。
如果我必须写测试用例,我们应该写单独的测试用例还是参数化测试
如果我编写单独的测试,我必须编写四个测试,但参数化的代码少了一个。
我尝试过参数化测试,因为断言中的 if 语句变得不那么可读了。
A = WorkflowStep('A')
B = WorkflowStep('B')
C = WorkflowStep('C')
D = WorkflowStep('D')
E = WorkflowStep('E')
Z = WorkflowStep('Z')
@pytest.mark.parametrize('skipStep', [([B]), ([C]), ([D]), ([E])])
test_skip_step(skipStep):
workflow = Workflow.create().skip(skipStep);
summary = workflow.goTo(Z)
if skipStep != B:
summary.hasB()
if skipStep != C:
summary.hasC()
if skipStep != D:
summary.hasD()
if skipStep != E:
summary.hasE()
我应该采取什么方法? - 编写单独的测试来测试跳过每个步骤? - 编写参数化测试?
【问题讨论】:
-
请考虑删除一个标签:这是单元测试或集成测试。我个人只留下测试作为标签。
标签: python unit-testing testing integration-testing