这可能是一个“违规”,但我将结合从惠特尼井村和Dave W上的答案,只是为了让答案更加清晰......
你问:
“是否需要将场景的所有步骤 定义放在同一文件中?”
号你可以把在逻辑上不同的文件,你的步骤定义不同的文件夹内,如您(下面的例子)认为合适的。毕竟,它只是ruby代码。
本质上你的命令是为运行在不同的其他文件夹中的步骤定义一个单独的功能,正确的...
cucumber -r features features\entities\entity.feature
如果你不运行它上面的,你会得到失踪stepdefs ...在这里我执行对当前项目的测试为手段,以证明:
cucumber
60 scenarios (14 undefined, 46 passed)
409 steps (32 skipped, 26 undefined, 351 passed)
cucumber -r features
60 scenarios (60 passed)
409 steps (409 passed)
正如Cucumber documentation描述,你可以安排你的测试适合你方信用证您的功能ogical故障:
|__ features
| |__ entities
| | |__ entity.feature
| | |__ step_definitions
| | |__ anything.rb
| | |__ entity_steps.rb
| |__ locations
| | |__ location.feature
| | |__ step_definitions
| | |__location_steps.rb
| |__ sites
| | |__ step_definitions
| |__ step_definitions
| | |__ local_assert_steps.rb
| | |__ local_crud_response_steps.rb
| | |__ local_email_steps.rb
| | |__ local_file_steps.rb
| | |__ local_script_steps.rb
| | |__ local_steps.rb
| | |__ local_web_steps.rb
` | |__ local_xml_file_steps.rb
|__ support
|__ env.rb
|__ local_env.rb
|__ local_transforms.rb
如果您移动情景文件夹内的'step_definitions'文件夹会发生什么? – Bala
它仍然是相同的结果 – Madhu
我得到它的工作。有一些隐藏的文件与步骤定义文件具有相同的名称。我刚刚删除它们。 – Madhu