Specflow scenarion描述很长

时间:2012-06-21 07:31:41

标签: bdd specflow gherkin

我曾经创建场景,在场景名称中我解释了什么是场景。 例如:

场景:当在上下文切换期间,上下文不匹配并且向用户显示要删除的事实列表时,如果用户在列表中选择了事实,则应删除事实。

但问题是场景变得越来越复杂,场景名称越来越长。我应该继续写长名还是你有更好的建议?

2 个答案:

答案 0 :(得分:1)

听起来好像你在重复自己。

下面的测试可能与你的意思不符。但假装它确实如此。

如果您的方案如下所示:

Given the current context is Green
And the following list of facts for delete are selected
   | Fact | Checkboxstate |
   | A    | checked       |
   | B    |               |
   | C    | checked       |
   | D    |               |
When I perform a context switch to Orange
Then the following facts should be deleted
   | Fact |
   | A    |
   | C    |
And the following facts should not be deleted
   | Fact |
   | B    |
   | D    |

然后,测试几乎不比您建议的方案标题复杂。 (如果测试比这复杂得多,则可能是另一个问题)

相反,请尝试保持功能和方案标题的简洁和有意义:例如

Feature: Context Switching

    Scenario: New Context should be enabled
    Scenario: Selected facts should be deleted
    etc.

答案 1 :(得分:1)

问题中概述的场景听起来与系统高度耦合。你指定的行为是什么?

然而,为了满足您的需求,我认为这只是一个语言问题。

我个人认为我只是将其重命名为:

Scenario: Should be able to delete non-matching facts

它更通用,但仍会告诉您当某人阅读该场景时会发生什么(考虑到该功能的上下文和其他相关场景)。

在一天结束时,场景名称的长度无关紧要 - 只要参与开发的人员(想想3位朋友,开发人员,测试人员和业务利益相关者);都明白这意味着什么。但显然,对其他人来说,理解越容易越好。