什么时候我应该使用Rails应用程序的规格和黄瓜(前rspec故事)?当然,我知道如何工作和积极使用规范.但使用黄瓜仍然感觉很奇怪.我目前对此的看法是,当您为客户端实现应用程序并且不了解整个系统应该如何工作时,使用Cucumber很方便.
但是,如果我正在做自己的项目呢?在大多数情况下,我知道系统的各个部分是如何相互作用的.我需要做的就是写一堆单元测试.那时我需要黄瓜的可能情况是什么?
并且,作为相应的第二个问题:如果我写黄瓜故事,我是否必须编写规范?难道不是同一件事的双重测试吗?
integration-testing unit-testing rspec cucumber rspec-stories
Rails /工具特定版本:您的单元测试有多深?
现在,我现在写道:
有时这是完全必要的; 有必要测试模型中对最终用户来说并不完全明显或可见的行为.当模型很复杂时,一定要进行测试.但有时候,在我看来,测试是多余的.举例来说,你的测试方法foo如果只是通过所谓的bar,并bar进行测试?如果bar是在Cucumber特性中使用并且可以在黄瓜特征中轻松测试的模型上的简单辅助方法怎么办?你在rspec和Cucumber中测试方法吗?我发现我自己为此而努力,为编写更多的测试需要时间和保持什么是有效的同样的行为,这使得维护测试套件的更多的时间密集,这反过来又使修改更昂贵的多个"版本".
简而言之,您是否认为有时候只写Cucumber功能就足够了?或者你应该总是在每个级别测试?如果您认为存在灰色区域,那么"这需要功能/单元测试"的阈值是多少.实际上,你现在做什么,为什么(或为什么不)你认为这已经足够了?
编辑:这是一个可能是"测试矫枉过正"的例子.不可否认,我能够很快写出来,但这完全是假设的.
如果您想将开发过程从测试驱动开发转移到行为驱动开发,您会采取或推荐哪种方式?
您可能面临的挑战是什么?随着范式的改变,移动开发过程本身将是一项艰巨的任务,思维过程和项目执行的前景发生变化.
有没有人真正体验到这种转变顺利进行(嗯...可能不是那么顺利)?
或者是否有人试图实现这一转变?
我知道这可能不适用于每一件事.但是,如果有人需要朝着这个方向努力,那将是合乎逻辑的步骤.
我从以下SO帖子中只有关于BDD的基本信息. TDD和BDD之间的主要差异
我要找的关键点是:
提前致谢.
关于.NET的BDD Framework,我在SO 最成熟的BDD Framework for .NET中发现了这篇文章
学习BDD和TDD(ruby,C#,javascript)有什么好资源.
现在使用的好框架是什么?
当我在瑞典观看Scott Guthrie的视频时,我刚刚听说过BDD .一位听众问斯科特关于VS2010和ASP.NET MVC如何支持BDD的问题.
之后,我搜索BDD(行为驱动开发),与TDD(测试驱动开发)相比,专注于规范而不是单元测试.我找到了一些适用于Ruby和Java的框架.但我没有任何着名的.NET框架.
请向我推荐一下BDD框架及其摘要PRO/CON.
PS.建议的BDD框架必须在.NET 4,C#4.0和ASP.NET MVC 2上运行良好.
谢谢,
bdd ×3
tdd ×3
unit-testing ×3
cucumber ×2
rspec ×2
.net-4.0 ×1
c# ×1
c#-4.0 ×1
javascript ×1
ruby ×1