1

率直なテストスクリプト(きゅうりのテストスクリプト)の書き方を学ぼうとしています。

これは私が書いたものです

When I navigate to "aaa"
Then I should be on the aaa screen
Then I navigate to "bob"
Then I should be on the bob screen 

When /^I navigate to "(.*?)"$/ do |aaa|
  touch "view:'UITabBarButton' marked:'aaa'"
END

Then /^I should be on the aaa screen$/ do
  check_element_exists "view:'UIImageView' marked:'xxx'"
END

Then /^navigating to "(.*?)"$/ do |bbb|
  touch "view:'UITabBarButton' marked:'bbb'"
end

Then /^I SHould be on the bbb screen$/ do
   check_element_exists "view:'UIImageView' marked:'zzz'"
end

ビュー/画像名の代わりに文字が書かれている場所

これは私がスクリプトを実行している間に得られるものです

/Users/janogrodowczyk/SMHI/ios/ios/Frank/features/step_definitions/test_steps.rb:14:構文エラー、予期しない$ end、kENDが必要です(SyntaxError)

そして、最初の2行以降、何が間違っているのかわかりません

When I navigate to "aaa"
Then I should be on the aaa screen

それらだけが残りなしで実行されるとき、うまく機能しています。

よろしくお願いします

4

2 に答える 2

4

ENDendは異なるルビーキーワードです。

ENDプログラムが終了する前に実行されるコードを表します。

endクラス、メソッド、制御構造などの終わりを指定します。

于 2012-12-07T17:51:45.530 に答える
3

「aaa」と「bbb」へのナビゲートは、実際には2つのシナリオです。1つのシナリオで再び「ナビゲート」することはできません。

したがって、最初にからのステップをリファクタリングします

When I navigate to "aaa"
Then I should be on the aaa screen
Then I navigate to "bob"
Then I should be on the bob screen

に:

Given blah blah
When I navigate to "aaa"
Then I should be on the aaa screen

Given blah blah
When I navigate to "bbb"
Then I should be on the bbb screen

ちょっと待って。なぜ複製するのですか?「シナリオの概要」は、同様のケースをテストするのに役立ちます。

Scenario Outline: Visit UI
Given blah blah
When I navigate to <link>
Then I should see <screen_name> screen

Examples:
  | link | screen_name |
  | aaa  | aaa screen  |
  | bbb  | bbb screen  |
  | ccc  | ccc screen  |
于 2012-12-09T18:14:24.487 に答える