0

単純なタランチュラリクエストを機能させようとしていますが、APIがないと難しいと感じています。次のような簡単なテストを行うと、tarantula_crawl(self)次のようなエラーが発生します

1)エラー:test_tarantula(TarantulaTest):RuntimeError:9つの失敗tarantula(0.3.3)[v] lib / related / tarantula / crawler.rb:221:in generate_reports' tarantula (0.3.3) [v] lib/relevance/tarantula/crawler.rb:227:inreport_results'tarantula(0.3.3)[v] lib / relevance / tarantula / crawler.rb:82:in crawl' tarantula (0.3.3) [v] lib/relevance/core_extensions/test_case.rb:8:intarantula_crawl'/test/tarantula/tarantula_test.rb:20:in `test_tarantula'

2つのテスト、0のアサーション、0の失敗、1つのエラーコマンドがステータス(1)で失敗しました:[/ usr / bin / ruby​​1.8 -I "lib:test" "/ usr / lib / ru ...]

さらに、次のような簡単なテストを試してみると、

  • def test_with_login
    post'/ login'、:email =>'scarshark@gmail.com'、:password =>'asdfasdf1'
    assert_response:redirect
    assert_redirected_to'/ Dashboard'
    follow_redirect!t = tarantula_crawler(self)t.crawl'/' end

私は得る

2)失敗:test_with_login(TarantulaTest)[/test/tarantula/tarantula_test.rb:25]:応答は<:redirect>であると予想されましたが、<200>でした

それは私の投稿リクエストと関係があると思います。私の理解では、localhost:3000 / loginに移動し、ページを送信する電子メールとパスワードのフィールドに入力する必要がありますが、リダイレクトではなく200のステータスコードを取得します。

タランチュラをよりよく使用する方法を学ぶための助けは素晴らしいでしょう、ありがとう!

4

1 に答える 1

1

「ログイン」のメソッド定義は何ですか? 「/login」は単なるログイン フォームの表示のように見えます。これが、テスト時に :success 応答が返される理由です。あなたがしなければならないことは、ログインページを開き、「フォーム」アクションを調べて、実際のアクションがページによって呼び出されていることを確認し、「/login」をそのアクションに置き換えてテストに合格することです。

于 2010-06-04T12:08:09.760 に答える