2011-03-13 13 views
1

これは私の最初のstackoverflowの質問です。キュウリは電子メールの解析をテストしますか?

私はSendGridから電子メールをポストに取得するアプリケーションを構築しています。このアプリケーションを遅延ジョブで解析したいと考えています。

私の懸念はどのように私はこれをQAするのですか?私はキュウリについて読んできましたが、それは良い解決策のように思えますが、エンド・ツー・エンドのテスト・フローを理解することはできません。

ここまでのところです。

  1. 私は、各txtファイルを反復処理し、私のlibディレクトリ/ mailingjobでメソッドに渡されたときにそのことを確認し、メールの体の
  2. 様々なタイプのTXTファイルの大規模なリストを持っていると思います。 rb、返されるものは、キュウリで定義されたものと一致します。

それでは、私がこれまで持っていることのようなものです:私は始めているところです

expected = File.open('???/mail1.txt', 'r') do |f| 
    f.read 
end 

。可能であれば、以下を理解するのを手伝ってください。

  1. これらのTXTファイルは、すべてrailsプロジェクトディレクトリに配置する必要がありますか?
  2. ローカルテキストファイルを取得し、/ libディレクトリのメソッドに渡し、返されるものがそのファイルパスに設定されているものと同じであることを確認するe2eの例です。

ありがとうございました、私はおそらくあなたが使用しているもののテストフレームワークに応じて、(どこかtestspecディレクトリにこれらのファイルを格納しますあなたは

+0

編集していただきありがとうございます。あなたは何かを変えましたか? (私は新しい) – AnApprentice

+0

はい、質問のタイトルから「(初心者)」を削除しました。 – Zabba

答えて

1
  1. を提供することができる任意の助けてくれてありがとう。あなたはキュウリを述べ、その私はよく慣れていませんが、featuresというディレクトリを使用していると思います)。実際には、どこにでも置くことができますが、テストディレクトリのいくつかのサブディレクトリは理にかなっています。

  2. キュウリでのテストに慣れていない場合は、Railscast episode 155episode 159をお勧めします。あなたの直接質問に答えるために、あなたは常にあなたのプロジェクトのルートディレクトリを参照し、それが簡単に他のファイルやフォルダへのパスを構築することができ、このような

    email_text = File.read("#{Rails.root}/test/path/to/email.txt") 
    

    Rails.rootとしてテキストファイルからのメールを読んでいました。

+0

Brandonに感謝しますが、#1の考え方、#2の考え方、これらのTXTファイルの使い方、メソッドへのパス、そしてその戻り値がそのテキストファイルごとに設定された応答と等しいかどうか確認してください。 – AnApprentice

+0

これは、使用しているテストフレームワークによって異なります。それは簡単ですが、 'parsed_email = MyEmailParser.parse(email_text)'のようなことを行い、 'parsed_email'があなたが思うものであるかどうかを確認することができます。その部分はあなた次第です! RSpecやCucumberのようなテストフレームワークを学ぶことで、正しい軌道に乗ることができます。だからこそ私はスクリーンキャストを勧めました。 –

+0

ありがとう、私はそれらを見て、最初から最後までRSPECの本を読んだが、上記のユースケースをカバーしていない。かなり一般的ですが、技術に関する経験を通常克服することができますが、私はまだキュウリの経験はありません。私はいくつかの助けを望んでいた理由です:) – AnApprentice

関連する問題