我有两个类(A和B)都标有[绑定]。目前我正在使用每个功能的类。类A和B都具有一个步骤,看起来像这样:SpecFlow - 步骤(给定)在不同的类中具有相同的正则表达式不能独立执行
[Given(@"an employee (.*) (.*) is a (.*) at (.*)")]
public void GivenAnEmployeeIsAAt(string firstName, string lastName, string role, string businessUnitName)
当运行在类A中定义的特征的情况下,和测试运行执行上述指示的步骤中,类B的匹配步骤得到改为执行。
“Steps”也是全球性的吗?我认为只有“钩子”方法是全球性的,即BeforeScenario,AfterScenario。我不希望这种行为是“给定”,“然后”和“何时”。有没有什么办法解决这一问题?我试着把这两个类放在不同的命名空间中,这也不起作用。
另外,我是否可能会滥用SpecFlow,希望每个“给定”是独立的,如果我把它们放在单独的类中?
非常好,我今天早上和SpecFlow一起工作,发现了这个问题,并且认为我今天晚些时候需要答案 - 我这么做了。 – cfeduke 2011-03-28 21:07:13
所以我想如果我的问题是试图组织我正在做的类(按功能)的步骤,那么更合适的组织将通过行为。通过这种方式,一系列行为可以逐渐构建并在稍后重新引用。不知道是否有类似TestDox的SpecFlow工具? – SideFX 2011-03-29 00:14:27
是的,您可能最好为每个逻辑实体组织您的步骤定义(或更好的放置行为)。我已经创建了一个例子,你可能会觉得有用。看看这里:http://www.marcusoft.net/2011/01/kanbanboards-part-iitwo-step-forward.html?m=0 – 2011-03-29 08:55:08