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/路徑下。