one*_*mer 35 .net c# asp.net bdd frameworks
我对行为驱动开发(BDD)感兴趣
是否有适用于.Net平台(最好是C#和ASP.Net)的良好框架和/或工具?
什么时候BDD最适合在现实场景中使用?(辅助问题)
Lun*_*ore 33
+1为人们对场景的SpecFlow推荐; 从未使用它,但听到了很多关于它的好东西.我一直在使用普通的旧NUnit和像这样的小DSL .MSTest的工作方式类似.
您也可以在单位空间中进行BDD,这是MSpec的设计目标.我个人非常讨厌MSpec,但是这里的其他团队都喜欢它.他们喜欢编写代码如何工作的例子.我想说明为什么这种行为是有价值的.这是一个微妙的区别,如果你不担心在单位级别这样做,它不会打你.
其他框架包括Concordion,Fitnesse.NET(请将FitSharp放在它背后!)和TickSpec.
在现实世界中,长期以来最有价值的BDD是对话,而不是自动化测试.这里有一些快速提示和技巧:
不要对那些不断变化的东西进行自动化测试.它只是承诺你错了.等到UI稍微稳定下来然后再做.
如果您不关心UI,但关注数据完整性,请通过控制器/演示者层编写方案(例如:用于管理员屏幕).
不要以登录开始.首先描述您可能登录的应用程序的一个有价值的部分.首先执行此操作(假设您只有一个用户).您将获得有关风险位的更快反馈.
寻求有关风险位的快速反馈,这通常是您以前从未做过的事情.使用方案围绕它们进行对话.写下你发现的任何有趣的东西,但忘记那些显而易见的情景 - 它们是显而易见的!不要担心自动启动它们.对话比写下对话更重要,比自动化对话更重要.
祝好运!如果您想了解有关BDD的更多信息,请在此处汇总一页相关链接.
Har*_*san 29
在谷歌搜索我发现行为驱动开发(BDD)与SpecFlow和ASP.NET MVC.您可能会发现它很有用,请看一下.还可以使用SpecFlow和WatiN进行行为驱动开发
关于BDD优缺点的精彩演讲
最后但并非最不重要的是InfoQ文章中的行为驱动开发
LightBDD是一个开放源代码框架,允许编写易于阅读的BDD测试,但随着项目的增长,它也易于维护和扩展。
它提供的主要功能是:
它基于纯粹用代码编写的测试,这意味着对重构,代码分析,测试运行以及Visual Studio / Intellisense / Resharper提供的所有其他功能的本地支持。
用此框架编写的示例测试如下所示:
[TestFixture]
[FeatureDescription(
@"In order to access personal data
As an user
I want to login into system")] //feature description
[Label("Story-1")]
public partial class Login_feature //feature name
{
[Test]
[Label("Ticket-1")]
public void Successful_login() //scenario name
{
Runner.RunScenario(
Given_user_is_about_to_login, //steps
Given_user_entered_valid_login,
Given_user_entered_valid_password,
When_user_clicked_login_button,
Then_login_is_successful,
Then_welcome_message_is_returned_containing_user_name);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31856 次 |
| 最近记录: |