84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我看了一下,好像还是语义化的,非常神奇,这个特性是怎么用的呢?
Then "I should be served coffee" do @machine.dispensed_drink.should == "coffee" end
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
这个不是 Rails 的东东,这是 Cucumber 的 steps definition,Cucumber 是一个 BDD 的验收测试框架,你看到的这个部分就是测试断言的一段代码。Cucumber 采用的是一种接近自然语言的 DSL,所以语法很人性化。不过程序员本身不太追求 Cucumber 的风格,这个多用于商用化的测试脚本。程序员本身更偏爱程序化的语法,适当的语义化就足够了,在 Ruby 的世界里,MiniTest 和 RSpec 这两类测试框架更受欢迎一些。
补充,仔细想了一下,这也可能不是 Cucumber。我一开始认为是它是因为Then这个方法,但是 Cucumber 似乎是在 Scenario 里才用Then吧?(记忆模糊)
Then
若说是 RSpec 之类,有Then吗?也许是扩展了 DSL?有可能,所以武断认为是 Cucumber 可能是错的。
但无论如何,这肯定是测试代码,不属于 Rails 本身。
从用处来说,feature是用来做功能特性测试用例的,不仅仅是局限于Cucumber, RSpec也可以用这个,比如这里https://github.com/agilejzl/blog-eye/tree/master/spec/features,@nightire 配合gem 'rspec-example_steps'是可以有 Then 类的流程测试的。
就是cucumber的代码。Then 位于.feature文件用,用来描述过程,或者_steps.rb文件中用来解析过程。上面提到的明显是后面一种。他位于../features/step_definitions/路径下。
这个不是 Rails 的东东,这是 Cucumber 的 steps definition,Cucumber 是一个 BDD 的验收测试框架,你看到的这个部分就是测试断言的一段代码。Cucumber 采用的是一种接近自然语言的 DSL,所以语法很人性化。不过程序员本身不太追求 Cucumber 的风格,这个多用于商用化的测试脚本。程序员本身更偏爱程序化的语法,适当的语义化就足够了,在 Ruby 的世界里,MiniTest 和 RSpec 这两类测试框架更受欢迎一些。
补充,仔细想了一下,这也可能不是 Cucumber。我一开始认为是它是因为
Then
这个方法,但是 Cucumber 似乎是在 Scenario 里才用Then
吧?(记忆模糊)若说是 RSpec 之类,有
Then
吗?也许是扩展了 DSL?有可能,所以武断认为是 Cucumber 可能是错的。但无论如何,这肯定是测试代码,不属于 Rails 本身。
从用处来说,feature是用来做功能特性测试用例的,不仅仅是局限于Cucumber, RSpec也可以用这个,比如这里https://github.com/agilejzl/blog-eye/tree/master/spec/features,@nightire 配合gem 'rspec-example_steps'是可以有 Then 类的流程测试的。
就是cucumber的代码。Then 位于.feature文件用,用来描述过程,或者_steps.rb文件中用来解析过程。上面提到的明显是后面一种。他位于../features/step_definitions/路径下。