- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个集成测试,它向“显示”操作发送一个简单的 GET 请求。我在 assert_response 时得到:成功,它失败了,因为响应是 406,这意味着格式是 Not Acceptable HTTP。
require 'test_helper'
class UserFlowsTest < ActionDispatch::IntegrationTest
fixtures :continents, :countries, :types
test "browse register order" do
docs = make_docs
assert_equal Doc.count, docs.length, "Docs not created properly"
bob=new_session_as(:bob)
bob.goes_to_home
bob.goes_to_doc(1)
end
private
module TestDSL
def goes_to_home
get root_url
test_results("docs/index")
end
def goes_to_doc(id)
get docs_url(id), #{:format => :html} - fails with this as well...
y request.inspect
p response.inspect
test_results("docs/show")
end
def test_results(path)
assert_response :success, "Checking #{path}"
assert_template path
end
end #module TestDSL
def new_session_as(person)
new_session do |sess|
#sess.goes_to_login
#sess.logs_in_as(person)
yield sess if block_given?
end
end
def new_session
open_session do |sess|
sess.extend(TestDSL)
yield sess if block_given?
end
end
end
这是 request.inspect 的输出:
--- "#[], \"action_dispatch.request.parameters\"=>{\"format\"=>\"1\", \"action\"=>\"index\", \"controller\"=>\"docs\"}, \"rack.session\"=>{\"origin_url\"=>\"/docs.1?format=html\", \"session_id\"=>\"6e0e0be703a2c2accf15121b1eb56668\"}, \"rack.test\"=>true, \"HTTP_ACCEPT\"=>\"text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5\", \"HTTP_HOST\"=>\"www.example.com\", \"SERVER_NAME\"=>\"www.example.com\", \"rack.request.cookie_hash\"=>{\"_id_session\"=>\"BAh7ByIPb3JpZ2luX3VybCIGLyIPc2Vzc2lvbl9pZCIlNmUwZTBiZTcwM2EyYzJhY2NmMTUxMjFiMWViNTY2Njg=--ceb0f44d2ac8df81c888e005abb7e9d1df02e802\"}, \"action_dispatch.remote_ip\"=>#, \"CONTENT_LENGTH\"=>\"0\", \"rack.url_scheme\"=>\"http\", \"action_dispatch.request.query_parameters\"=>{\"format\"=>\"html\"}, \"action_dispatch.request.unsigned_session_cookie\"=>{\"origin_url\"=>\"/\", \"session_id\"=>\"6e0e0be703a2c2accf15121b1eb56668\"}, \"CONTENT_TYPE\"=>\"application/x-www-form-urlencoded\", \"HTTPS\"=>\"off\", \"rack.errors\"=>#, \"action_dispatch.secret_token\"=>\"8922d5d0a3e706818581l8cc2d42d9ce584ba6350de71e6afc49b2ad7d3d05c6e763db2615fca9eb123c51b57223d955a5199b60c20e5efb4be14888a4e3520a2\", \"REMOTE_ADDR\"=>\"127.0.0.1\", \"PATH_INFO\"=>\"/docs.1\", \"rack.version\"=>[1, 1], \"rack.run_once\"=>false, \"action_dispatch.request.path_parameters\"=>{:format=>\"1\", :controller=>\"docs\", :action=>\"index\"}, \"rack.request.cookie_string\"=>\"_id_session=BAh7ByIPb3JpZ2luX3VybCIGLyIPc2Vzc2lvbl9pZCIlNmUwZTBiZTcwM2EyYzJhY2NmMTUxMjFiMWViNTY2Njg%3D--ceb0f44d2ac8df81c888e005abb7e9d1df02e802\", \"SCRIPT_NAME\"=>\"\", \"action_dispatch.parameter_filter\"=>[:password, :data], \"action_dispatch.show_exceptions\"=>false, \"HTTP_COOKIE\"=>\"_id_session=BAh7ByIPb3JpZ2luX3VybCIGLyIPc2Vzc2lvbl9pZCIlNmUwZTBiZTcwM2EyYzJhY2NmMTUxMjFiMWViNTY2Njg%3D--ceb0f44d2ac8df81c888e005abb7e9d1df02e802\", \"rack.multithread\"=>true, \"action_dispatch.request.request_parameters\"=>{}, \"rack.request.form_vars\"=>\"\", \"action_dispatch.cookies\"=>{\"_id_session\"=>\"BAh7ByIPb3JpZ2luX3VybCIYL2RvY3MuMT9mb3JtYXQ9aHRtbCIPc2Vzc2lvbl9pZCIlNmUwZTBiZTcwM2EyYzJhY2NmMTUxMjFiMWViNTY2Njg=--529dbf0f8e243c4830526f37adb777bd9fba49fd\"}, \"REQUEST_URI\"=>\"/docs.1\", \"rack.multiprocess\"=>true, \"rack.request.query_hash\"=>{\"format\"=>\"html\"}, \"rack.request.form_input\"=>#, \"SERVER_PORT\"=>\"80\", \"action_controller.instance\"=>#\"1\", \"action\"=>\"index\", \"controller\"=>\"docs\"}, @env={...}>, @cache_control={}, @body=[\" \"], @status=406, @length=0, @charset=\"utf-8\", @header={\"X-UA-Compatible\"=>\"IE=Edge,chrome=1\", \"X-Runtime\"=>\"0.013935\", \"Content-Type\"=>\"text/html; charset=utf-8\", \"Set-Cookie\"=>\"_id_session=BAh7ByIPb3JpZ2luX3VybCIYL2RvY3MuMT9mb3JtYXQ9aHRtbCIPc2Vzc2lvbl9pZCIlNmUwZTBiZTcwM2EyYzJhY2NmMTUxMjFiMWViNTY2Njg%3D--529dbf0f8e243c4830526f37adb777bd9fba49fd; path=/; HttpOnly\", \"Cache-Control\"=>\"no-cache\"}, @block=nil, @writer=#, @blank=true, @sending_file=false, @etag=nil, @content_type=#, @cookie=[]>, @_headers={\"Content-Type\"=>\"text/html\"}, @docs=[#, #, #, #, #, #], @_config=#, @countries=[#, #, #], @continents=[#, #], @_action_name=\"index\", @_request=#\"1\", \"action\"=>\"index\", \"controller\"=>\"docs\"}, @env={...}>, @lookup_context=#=>{\"layouts\"=>{\"nav\"=>{true=>[app/views/layouts/_nav.html.haml]}, \"application\"=>{false=>[app/views/layouts/application.html.haml]}, \"docs\"=>{false=>[]}}, \"docs\"=>{\"index\"=>{false=>[app/views/docs/index.html.haml]}}}}, @path=\"/home/jon/id/app/views\">,
@cached={#=>{\"layouts\"=>{\"docs\"=>{false=>[]}}}}, @path=\"/home/jon/.rvm/gems/ruby-1.8.7-p334/gems/devise-1.4.2/app/views\">], @details_key=nil, @skip_default_locale=false, @details={:formats=>[:html, :text, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json], :handlers=>[:haml, :builder, :erb, :rjs, :rhtml, :rxml], :locale=>[:en, :en]}, @frozen_formats=false>, @doc_types=[#, #], @_status=200, @view_context_class=nil, @action_has_layout=true>, \"rack.session.options\"=>{:secure=>false, :expire_after=>nil, :domain=>nil, :httponly=>true, :id=>\"6e0e0be703a2c2accf15121b1eb56668\", :path=>\"/\"}, \"REQUEST_METHOD\"=>\"GET\", \"warden\"=>Warden::Proxy:-616946978 @config={:default_scope=>:user, :failure_app=>Devise::FailureApp, :intercept_401=>false, :default_strategies=>{:user=>[:rememberable, :database_authenticatable]}, :scope_defaults=>{}}, \"rack.request.query_string\"=>\"format=html\", \"rack.request.form_hash\"=>{}, \"action_dispatch.request.content_type\"=>#, \"QUERY_STRING\"=>\"format=html\", \"rack.input\"=>#}>"
这是 response.inspect 的输出:
"#true}, @body=[\" \"], @status=406, @length=0, @charset=\"utf-8\", @header={\"X-UA-Compatible\"=>\"IE=Edge,chrome=1\", \"Content-Type\"=>\"text/html; charset=utf-8\", \"X-Runtime\"=>\"0.013935\", \"Set-Cookie\"=>\"_id_session=BAh7ByIPb3JpZ2luX3VybCIYL2RvY3MuMT9mb3JtYXQ9aHRtbCIPc2Vzc2lvbl9pZCIlNmUwZTBiZTcwM2EyYzJhY2NmMTUxMjFiMWViNTY2Njg%3D--529dbf0f8e243c4830526f37adb777bd9fba49fd; path=/; HttpOnly\", \"Cache-Control\"=>\"no-cache\"}, @block=nil, @writer=#, @blank=false, @sending_file=false, @etag=nil, @content_type=#, @cookie=[]>"
“goes_to_home”测试按预期工作。在我的电脑上的开发环境中使用该页面也可以正常工作。这是服务器控制台输出:
Started GET "/docs/1" for 127.0.0.1 at Wed Aug 31 05:19:20 +0200 2011 Processing by DocsController#show as HTML Parameters: {"id"=>"1"}
Doc Load (1.0ms) SELECTdocs
.* FROMdocs
WHEREdocs
.id
= 1 LIMIT 1 User Load (1.4ms) SELECTusers
.* FROMusers
WHEREusers
.id
= 2 LIMIT 1 SQL (1.0ms) SELECT COUNT(*) FROMimages
WHERE (images
.user_id = 2) CACHE (0.0ms) SELECT COUNT(*) FROMimages
WHERE (images
.user_id = 2) Image Load (1.9ms) SELECTimages
.* FROMimages
WHERE (images
.user_id = 2) ORDER BY updated_at DESC LIMIT 1 Print Load (0.9ms) SELECTprints
.* FROMprints
WHEREprints
.image_id
= 1 ANDprints
.doc_id
= 1 LIMIT 1 Rendered layouts/_nav.html.haml (8.5ms) Rendered docs/show.html.haml within layouts/application (172.7ms) Completed 200 OK in 410ms (Views: 225.0ms | ActiveRecord: 6.2ms)Started GET "/javascripts/dynamic_docs.js" for 127.0.0.1 at Wed Aug 31 05:19:21 +0200 2011 Processing by JavascriptsController#dynamic_docs as JS Doc Load (16.1ms) SELECT
docs
.* FROMdocs
Country Load (0.7ms) SELECTcountries
.* FROMcountries
WHEREcountries
.id
= 1 LIMIT 1 CACHE (1.2ms) SELECTcountries
.* FROMcountries
WHEREcountries
.id
= 1 LIMIT 1 Country Load (0.6ms) SELECTcountries
.* FROMcountries
WHEREcountries
.id
= 2 LIMIT 1
Country Load (0.6ms) SELECTcountries
.* FROMcountries
WHEREcountries
.id
= 8 LIMIT 1 Country Load (0.6ms) SELECTcountries
.* FROMcountries
WHEREcountries
.id
= 18 LIMIT 1 Rendered javascripts/dynamic_docs.js.erb (216.0ms) Completed 200 OK in 270ms (Views: 238.2ms | ActiveRecord: 19.8ms)Started GET "/image_for/US-Passport/1.jpg" for 127.0.0.1 at Wed Aug 31 05:19:21 +0200 2011 "US Passport" 30.0 "head_top 39" "X: 2.65000000000001, Y: 28.85, width: 222.7, height: 222.7" Processing by DocsController#image_for as HTML
Parameters: {"image_id"=>"1", "name"=>"US-Passport"} User Load (2.0ms) SELECTusers
.* FROMusers
WHEREusers
.id
= 2 LIMIT 1 Image Load (0.9ms) SELECTimages
.* FROMimages
WHEREimages
.id
= 1 AND (images
.user_id = 2) ORDER BY updated_at DESC LIMIT 1 Doc Load (1.0ms) SELECTdocs
.* FROMdocs
WHEREdocs
.name
= 'US Passport' LIMIT 1 Rendered text template (0.1ms) Sent data orange.jpg (13.2ms) Completed 200 OK in 371ms (Views: 12.9ms | ActiveRecord: 3.9ms)
有什么想法吗?提前致谢
最佳答案
此问题是由于在“get”调用中使用了错误的路径引起的。
出于某种原因 docs_url(@doc) 生成“/docs.7”而不是“/docs/7”
我打开了一个separate question关于这个话题。
关于ruby-on-rails-3 - Rails 3 集成测试因简单 html 请求的 406 响应而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252383/
Windows 集成 (NTLM) 身份验证和 Windows 集成 (Kerberos) 之间有什么区别? 如何在IIS6中实现这些 w.r.t. MSDN 最佳答案 Kerberos 和 NTLM
Keycloak是一个用 Java 编写的开源身份验证和身份管理解决方案。它提供了一个nodejs适配器,使用它我能够成功地与express集成。这是有效的路由文件: 'use strict'
这是我关于 Bamboo 的第二个问题 ( My First One )。阅读建议信息后我的理解是,我需要一个构建工具,例如 nAnt 或 MSbuild 来编写一个获取源代码并构建它的脚本(我正在开
可用于将第三方应用程序与 jira 4.3 集成的身份验证方案有哪些?显然,从客户那里获取用户名和密码听起来很荒谬。另外,我知道 oauth 身份验证仅适用于版本 5。请告诉我。谢谢。 附注。我不是在
我有一个使用 DDS 的旧版 C++ 应用程序用于异步通信/消息传递。我需要将此应用程序集成到使用 JMS 进行消息传递的 JavaEE 环境中。除了构建独立的 JMS/DDS 桥接模块之外,我还有其
我正在尝试使用 Whatsapp 发送测试消息,但收到此错误消息: "error":{"code":27,"description":"Recipient not available on chann
我想将 photologue 与我的 Django 应用程序集成,并使用它在车辆库存中显示照片......有点像 Boost Motor Group Inc. 提供的内容。我已经集成了该应用程序,所以
我目前正在尝试弄清楚如何与 fujitsu scansnap 扫描仪集成,但没有从 fujitsu 找到有关 fujitsu scansnap 管理器如何调用您的应用程序并将文件发送到您的应用程序的详
在我的项目中,我使用了 9 个(九个)int-ip:udp-inbound-channel-adapter 和一个 jms:inbound-channel-adapter。 Jms 适配器从服务器接收
在我们当前的原型(prototype)中,大多数标准 HTML 控件都被小程序取代,最重要的是表单提交由小程序触发。 有没有一种方法可以像 一样在服务器端调用关联的操作 ? 本文Applet and
是否可以使用 twilio 号码从 whatsapp 发送/接收短信?有人用whatsapp试过twilio吗?我问过客服,如果可能的话,他说,不确定,但很多人都问过这个问题。 最佳答案 万一其他人来
我们办公室中几乎不存在版本控制,这显然导致了很多麻烦。我们想使用SVN和Notepad++进行设置...任何人都对如何实现此目标有任何想法?我已经开始研究并浏览了这个网站: http://www.sw
曾经有提供这种集成的 spring-modules 项目;但是,该项目现已弃用。现在有没有人继续支持这种集成?谢谢。 最佳答案 工作正在进行中。 http://blog.athico.com/sear
我的理解是,根据 http://wiki.dbpedia.org/Datasets,DBpedia 从 YAGO 获取类层次结构,而不是实体。 .但是,类似 http://dbpedia.org/cl
任何人都可以帮助我如何将 OpenCMS 与 Java Spring Web 应用程序集成。已经用谷歌搜索并浏览了很多网站但没有用。所以,请帮助我。 最佳答案 我认为将 SpringMVC 与 Ope
我正在尝试使用新的 migs getaway (MPGS) 我遵循了下一个 url 中的代码 https://ap-gateway.mastercard.com/api/documentation/i
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
我有一个 cmake 项目。我想轻松完成以下操作 搜索光标下任何变量、函数等的声明、定义和引用,这些可能在外部头文件中声明,其路径是在CMakeLists.txt中使用INCLUDE_DIRECTOR
有人能给我指点一下 Objective-C(或 c/c++)库的方向,或者教通过 FTP 上传或下载的教程(Objective-C)吗?最好能展示如何将文件下载到临时目录,然后稍后上传?我不介意针对
集成()给出了非常错误的答案: integrate(function (x) dnorm(x, -5, 0.07), -Inf, Inf, subdivisions = 10000L) # 2.127
我是一名优秀的程序员,十分优秀!