Vag*_*lov 7 asp.net-mvc bdd acceptance-testing specflow
我正在查看SpecFlow示例,它的MVC示例包含几个测试选项:
我必须说我对SpecFlow示例的编写方式印象深刻(我设法在下载后几分钟内运行它们,只需配置数据库并安装Selenium Remote Control服务器).看看测试方案,我可以看到它们中的大多数相互补充而不是替代方案.我可以想到以下这些测试的组合:
如果您在Web开发中使用SpecFlow,Cucumber或其他BDD验收测试框架,请与您分享您在不同测试类型之间进行选择的实践.
提前致谢.
这都是行为.
给定特定上下文,当事件发生时(在特定范围内),则应该发生一些结果.
范围可以是整个应用程序,系统的一部分或单个类.即使函数也是这样的,输入作为上下文,输出作为结果(您也可以将BDD用于函数式语言!)
我倾向于在类或集成级别使用单元框架(NUnit,JUnit,RSpec等),因为受众是技术性的.有时我会在评论中记录Given/When/Then.
在场景级别,我试图找出谁真正想要帮助读取或编写场景.即使是商业利益相关者也可以阅读包含几个点和括号的文本,因此拥有像MSpec或JBehave这样的自然语言框架的主要原因是他们想要自己编写场景,或者将它们显示给那些真正会被点击的人和括号.
之后,我将了解框架将如何与构建系统一起使用,以及我们如何为感兴趣的利益相关者提供适当的读写能力.
这是我写的一个例子,展示了使用简单的DSL可以对场景做些什么.这只是用NUnit编写的.
这是一个示例,在相同的代码库中显示Given,When,Then在类级示例注释中.
我抽象背后的步骤,然后我把屏幕或页面放在那些后面,然后在屏幕和页面中我称之为我正在使用的任何自动化框架 - 可能是Selenium,Watir,WebRat,Microsoft UI Automation等.
我提供的示例本身就是一个自动化工具,因此这些场景通过演示伪gui的行为来演示自动化工具的行为,以防万一令人困惑.无论如何希望它有所帮助!
| 归档时间: |
|
| 查看次数: |
1810 次 |
| 最近记录: |