0

基本的にメッセージ処理アプリケーションであるアプリをテストしています。メッセージが着信し、その内容が分析され、処理のために別の場所に送信されます。アプリは Ruby でビルドされていません。

ご想像のとおり、主なテスト手法は、さまざまな種類の (非常に複雑な) メッセージを大量に生成し、それらをアプリに読み込み、数秒待ってから、正しい場所に送信されることを確認することで構成されます。

機能的には、テストは順調に進んでいますが、現在、Ruby コードで定義されたすべてのテスト メッセージと目的のメッセージ送信先を取得しています。それらを YAML ファイルまたは (2 番目の選択肢) データベースに移動したいと考えています。データベースよりも YAML ファイルを使用した方がバージョン管理が容易であり、技術者以外のテスターがメッセージの内容を直接編集できるためです。

Cucumber でこの種のデータ管理を実装する「推奨される」方法はありますか? フィクスチャのアプローチが理にかなっているような匂いがしますが、私にとってのフィクスチャは常に、ファイルからデータベースにデータを入力し、DB をテストに使用することを伴います。問題。

4

1 に答える 1

4

あなたが最も満足するのはシナリオの概要だと思います。yaml ファイルを作成してステップからロードすることもできますが、それでは非常に有用なテスト出力にはなりません。あなた (私が思うに) が本当に望むのは、各メッセージとその宛先を、通過または失敗した天候でソートして表示することです。以下の例は失敗したログインの場合ですが、要点はわかります。

Scenario Outline: Failed Login
  Given I am not authenticated
  When I go to "/login"
  And I fill in "login" with "<mail>"
  And I fill in "password" with "<password>"
  And I press "Log In"
  Then the login request should fail
  Then I should see an error message

  Examples:
    | mail           | password       |
    | not_an_address | nil            |
    | not@not        | 123455         |
    | 123@abc.com    | wrong_paasword |

サンプルは、成功したか、失敗したか、保留中であったかに応じて、緑、赤、または黄色に変わります。

于 2009-09-01T02:55:49.403 に答える