该命令会输出下面的结果
1 Scenarios (1 undefined) 3 Steps (3 undefined) 0m0.000s You can implement missing steps with the snippets below: @假设("^我的任务清单里有(\\d+)个任务$") public void 我的任务清单里有_个任务(int arg1) throws Throwable { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @当("^我完成(\\d+)件任务之后$") public void 我完成_件任务之后(int arg1) throws Throwable { // Write code here that turns the phrase above into concrete actions throw new PendingException(); } @那么("^我还剩下(\\d+)件未完成的任务$") public void 我还剩下_件未完成的任务(int arg1) throws Throwable { // Write code here that turns the phrase above into concrete actions throw new PendingException(); }逐行解释一下:
1 Scenarios (1 undefined): 我们在feature文件中描述了1个Scenario,但是我们只是描述,没有实现,这就是所谓的光说不练;
3 Steps (3 undefined): 我们描述了3个测试步骤,但我们仅仅是描述而已,没有实现这些步骤;
剩下的代码片段:告诉我们不要光说不练,要用下面的这些代码去实现这些场景和步骤;
如果运行时出现乱码,也就是说cucumber无法解析feature文件的话,记得将feature文件的编码改为utf8无bom
总结可以看出,feature文件其实即使测试用例又是需求文档,当然了一个系统光有描述性质的测试用例和需求文档是远远不够的,下一节我们将会看到cucumber是怎样把单元测试用例和自然语言用例无缝关联的。