标签: specflow

如何在Gherkin中阻止评论?

在小黄瓜语法中(由Cucumber和SpecFlow使用,我可以通过在前面添加'#'来注释掉一行

有没有办法阻止评论多行?

syntax comments cucumber specflow gherkin

75
推荐指数
6
解决办法
8万
查看次数

如何在不删除功能的情况下禁用specflow(Gherkin)中的功能?

我有一些SpecFlow功能(使用Gherkin语法),我想暂时禁用该功能,以防止其测试运行?

是否有一个属性可以标记该功能来执行此操作?我猜测适用于Cucumber的东西也可能适用于SpecFlow.

cucumber specflow gherkin

63
推荐指数
2
解决办法
3万
查看次数

如何在SpecFlow功能中编写注释?

我想在SpecFlow功能中包含一些注释.

我收到以下错误:

Custom tool error: Parsing error near '/*'
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

// comment
/* comment */
-- comment
' comment
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

specflow

46
推荐指数
2
解决办法
2万
查看次数

内外BDD(带Specflow)

我是BDD的新手,但我发现它非常有趣,并希望使用BDD开发我的下一个项目.在谷歌搜索和观看截屏后,我仍然有很多关于BDD在现实生活中的问题.

1.陈述性或势在必行的场景?

我看到的大多数给定的时间场景都是用UI(命令式)编写的.

Scenario: Login
     Given I am on the Login-page
     When I enter 'AUser' in the textbox 'UserName'
       And I enter 'APassword' in the textbox 'Password'
       And I click the 'Login' button
     Then I should see the following text 'You are logged in'
Run Code Online (Sandbox Code Playgroud)

我发现这些测试非常脆弱,并且它们没有说明点击按钮的商业价值.我认为这是维持的噩梦.为什么大多数示例都使用命令性场景?

Scenario: Login (declarative)
     Given I am not logged in
     When I log in using valid credentials
     Then I should be logged in
Run Code Online (Sandbox Code Playgroud)

如果您更喜欢声明式样式,那么如何描述"主页"或"产品页面"等内容?

2.运动UI与否?

我看到的大多数步骤实现都使用WatiN,White或类似的东西从用户的角度来实现场景.启动浏览器,单击按钮.我认为它极其缓慢而脆弱.好吧,我可以使用类似Page对象的东西来减少测试.但那是另一项工作.特别适用于具有复杂UI的桌面应用.

您如何在现实项目中实施场景 - 行使UI,或通过测试控制器/演示者?

3.真实数据库与否?

当给定部分场景时,通常需要一些数据存在于系统中(例如,一些用于商店应用的产品).您如何实现该部分 - 将数据添加到真实数据库(完整的端到端测试),或者向控制器提供存储库存根?

等待有经验的答案! …

c# bdd cucumber specflow

41
推荐指数
2
解决办法
2915
查看次数

如何让SpecFlow期待异常?

我正在使用SpecFlow,我想写一个如下的场景:

Scenario: Pressing add with an empty stack throws an exception
    Given I have entered nothing into the calculator
    When I press add
    Then it should throw an exception
Run Code Online (Sandbox Code Playgroud)

calculator.Add()将是一个例外,所以如何在标记的方法中处理这个[Then]

expected-exception specflow

40
推荐指数
6
解决办法
1万
查看次数

如何在Visual Studio 2010中运行SpecFlow测试?

尝试使用全新的VS2010 Professional安装运行SpecFlow.创建了一个新的控制台应用程序并添加了对NUnit和SpecFlow的引用.创建了SpecFlow功能.创建具有默认模板代码的.feature.

现在我尝试运行此测试,但我不明白如何.当我右键单击项目(在顶层)时,鼠标下拉菜单中没有"运行测试"选项.没有SpecFlow正确安装,我缺少一些参考或我需要安装的其他工具?

visual-studio-2010 specflow

40
推荐指数
4
解决办法
2万
查看次数

Cuke4Nuke还是SpecFlow?

我试图决定是否应该使用Cuke4Nuke或SpecFlow.每个人的利弊是什么?关于哪个更好的观点和原因.

谢谢!

tdd bdd rspec cucumber specflow

38
推荐指数
6
解决办法
7425
查看次数

是否有任何非开发人员工具来编辑小黄瓜文件?

Gherkin语法文件只是纯文本,因此可以使用任何编辑器,如记事本.但是,我们使用它的一个更重要的事情是提供样本数据表.没有良好的格式化选项,文件变得难以阅读.

对于visual studio,如specflow.org或https://github.com/henritersteeg/cuke4vs,有一些很好的工具(请参阅:如何在Visual Studio中为.feature文件突出显示Gherkin语法?).使用eclipse的开发人员的另一个选项在Cucumber IDE中讨论了使用自动完成功能编写功能吗?但是,我不想要求我们的业务分析师安装它.

这是一个语法高亮显示文件(http://productive.me/develop/cucumbergherkin-syntax-highlighting-for-notepad/),可以导入到notepad ++中,但它对表格格式没有任何作用.

我是否还有其他选择可以让非开发人员有效地编辑.feature小黄瓜文件?

bdd cucumber specflow gherkin

36
推荐指数
3
解决办法
2万
查看次数

在SpecFlow中,如何在步骤/功能之间共享数据?

我有2个功能使用常见的'When'步骤,但在不同的类中有不同的'Then'步骤.

我如何在我的两个步骤中的When步骤中从我的MVC控制器调用中访问ActionResult?

c# specflow

35
推荐指数
4
解决办法
3万
查看次数

Specflow error:强制重新生成步骤?

是否可以"强制"为specflow功能文件重新生成步骤定义?我创建了此功能文件,但无法生成所有步骤.我收到一条消息,说明所有步骤已经绑定但是当我运行测试时,我得到一个错误,相同的步骤没有绑定.我已经清除了所有内容并重新创建了功能和步骤定义,但现在我无法生成所有步骤,因为specflow表示它们已被绑定.

specflow

32
推荐指数
3
解决办法
3万
查看次数