塔兰图拉的铁路应用程序

时间:2010-06-02 20:06:02

标签: ruby-on-rails ruby testing tarantula

我只是想让一个简单的狼蛛请求正常工作,但没有api就难以找到它。 如果我有像tarantula_crawl(self)这样的简单测试,我会收到类似

的错误

1)错误: test_tarantula(TarantulaTest): RuntimeError:9次失败     狼蛛(0.3.3)[v] lib / relevant / tarantula / crawler.rb:221:in generate_reports' tarantula (0.3.3) [v] lib/relevance/tarantula/crawler.rb:227:in report_results'     狼蛛(0.3.3)[v] lib / relevant / tarantula / crawler.rb:82:in crawl' tarantula (0.3.3) [v] lib/relevance/core_extensions/test_case.rb:8:in tarantula_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
    发布'/ login', :email => 'scarshark@gmail.com', :password => 'asdfasdf1'
    assert_response:redirect
    assert_redirected_to'/ dashboard'
    follow_redirect! t = tarantula_crawler(self)t.crawl'/' 端

我得到了

2)失败: test_with_login(TarantulaTest)[/test/tarantula/tarantula_test.rb:25]: 预期的响应是<:redirect>,但是< 200>

我认为这与我的帖子请求有关。我的理解是它应该转到localhost:3000 / login并输入提交页面的电子邮件和密码字段,但我得到200状态代码而不是重定向。

任何有关学习如何更好地使用狼蛛的帮助都会很棒,谢谢!

1 个答案:

答案 0 :(得分:1)

“登录”的方法定义是什么?在我看来,'/ login'只是登录表单的显示。这就是为什么:测试时会返回成功响应。您需要做的是打开登录页面,查看“表单”操作以找出页面调用的实际操作,然后将“/ login”替换为该操作以通过测试。