0

我只是想让一个简单的狼蛛请求工作,但发现没有 api 很难。如果我有一个简单的测试,tarantula_crawl(self)我会得到一个错误

1) 错误:test_tarantula(TarantulaTest): RuntimeError: 9 次失败 tarantula (0.3.3) [v] lib/relevance/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/ruby1.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 响应的原因。您需要做的是打开您的登录页面,查看您的“表单”操作以找出页面调用的实际操作,然后将“/登录”替换为该操作以通过测试。

于 2010-06-04T12:08:09.760 回答