浏览 2526 次
锁定老帖子 主题:cucumber vs ***
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-06
最后修改:2009-07-06
cucumber应该用来做集成、功能测试,而实际应用还需要通过其他测试框架(rspec, test::unit……)来做单元测试。 cucumber测试当中有用自然语言描述feature文档和相应的测试程序steps,我想steps应该是features文档的程序化版本(ruby,python……), 在描述上steps与 features有很多重复,也就是说你改了features一些描述,也差不多你也要改改steps相应的描述内容,这样能使行为描述一致。 而features即特定格式的需求描述,而需求是不确定的,改的动作应该算是够频繁,而反过来steps的改的也够频繁, 这样也就降低了测试的速度。 照上面描述,能不能把steps去掉,直接features(documents) -》 app program 来测试, 我就把归为DDD(Document Driven Development) 通过文档(documents),结合语言的注释来驱动测试,拿个cucumber自带的的加法的一个例子说事吧 文档 功能:加法 为了避免一些愚蠢的错误 作为一个数学白痴 我希望有人告诉我数字相加的结果 场景: 相加 输入5和6相加得11 输入1,2,3相加得6 程序 class Calculator #相加------------于文档的"相加"关键字匹配,然后传入文档的参数 def add(*a) a.inject(0){|n,sum| sum+=n} end end 通过文档的相应的关键字与ruby method的注释匹配来建立关联,然后文档可以传入想要参数到方法 上面说的,用的都很简单,也没考虑很多细节,至于这种思想是否可行,技术是否可行,有待考察,研究。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |