我正在使用 BDD 功能来描述我们的一些项目。然后使用 django 测试客户端https://docs.djangoproject.com/en/1.10/topics/testing/tools/实现大多数场景,但有些场景正在通过 selenium 进行测试。理论上,其中一些功能可以通过两种方法(通过 selenium 和测试客户端)进行测试,但我不知道如何从编码的角度来解决这个问题。我想让我的 bdd 场景实现免费(没有像“鉴于我使用 selenium 作为测试工具”)。
我正在考虑在可行的情况下对每个步骤进行多个定义,然后使用针对给定场景实现所有步骤的实现(甚至更多)。我猜这将需要更改 python-behave 实现。任何人都面临类似的问题?
编辑:
我发现的第一件事是使用阶段并为“阶段”设置每个实现: https ://pythonhosted.org/behave/new_and_noteworthy_v1.2.5.html#test-stages 这可以解决我的问题,我可以运行测试每个阶段。唯一要解决的是特定于实现(阶段)的功能。在最坏的情况下,我可以进行虚拟传递步骤。