小弟最近在给ruby项目写单元测试,用的是rspec遇到个问题想问下
代码如下:
#
# 用户管理
#
class UsersController < ApplicationController
before_filter :monitor_required, :except=>[:destroy]
before_filter :admin_required, :only=>[:destroy, :reset_pwd]
before_filter :get_user, :except=>:index
# 显示所有的管理员
# [GET] /users
# [FILTER] group=[:all,:admin,:configer,:monitor]
# [ORDER] order=column_name
# [PAGE] page = n
# [FULL URL] /users(/index).json?group=all&page=n&order=name
def index
group = params[:group] || "all"
if( group == "all")
@users = User.find(:all, extract_common_query)
@total = User.count
else
@users = User.find_all_by_group(group, extract_common_query)
@total = User.count(:all, :conditions=>["`group` = ?", group])
end
respond_to{|format|
format.json{
render_json_list(@users, @total)
}
format.xml{
render(:xml=>@users.to_xml)
}
}
end
其中extract_common_query()方法是
# 抽取一般JS查询的三个典型参数
# <li>order
# <li>limit
# <li>offset
def extract_common_query
params[:offset] = params[:start]
ecq = {:limit=>25,:offset=>0}.update( params.only(:order,:limit,:offset) )
ecq.symbolize_keys!
end
其中render_json_list()方法是:
def render_json_list( data, total = data.size )
render(:text=>"{totalCount:#{total},rows:" + data.to_json + "}", :status => 200)
end
如何用rspec测试出response 是json数据?
分享到:
- 2008-09-17 20:14
- 浏览 1017
- 评论(0)
- 论坛回复 / 浏览 (0 / 1899)
- 查看更多
相关推荐
- **测试不输出HTML的控制器**:对于仅返回JSON或其他格式数据的控制器,也需要编写相应的测试。 #### 六、功能测试 - **为什么要编写功能测试**:功能测试(也称为端到端测试或接受测试)用于验证整个系统的行为...
标题 "在Rails中使用RSpec生产CHM文档" 暗示了这个话题是关于如何在Ruby on Rails(简称Rails)框架中使用RSpec测试工具来创建帮助文档,特别是以CHM(Microsoft Compiled HTML Help)格式。CHM文件是一种常见的...
在实际开发中,RSpec被广泛应用于Web应用程序的测试,特别是在使用Ruby on Rails框架时。RSpec能够帮助开发者快速构建出可靠且可维护的测试套件,确保代码的质量和稳定性。此外,RSpec还支持多种类型的测试,包括...
jasper-rails-rspec jasper-rails 和 RSpec 集成。 它只是定义了一个名为“包含”的新 RSpec 匹配器。依赖关系 安装 gem install jasper-rails-rspec配置将jasper-rails-rspec添加到您的 Gemfile 中: gem "jasper-...
用于在Rails中进行测试的自动JSON请求/响应验证器 SchemaConformist是用于Rails中的API测试的自动JSON请求/响应验证器。 该库自动验证JSON请求/响应是否与模式一致。 该模式可以描述为 , 和OpenAPI 3中的一种...
在带有 rspec 的 rails 项目中,在 atom 编辑器中的 spec 和测试文件之间切换。 如何使用 在编辑器中: alt-ctrl-r :在规范和测试的 ruby 文件之间切换。 配置 支持多个规范路径。 默认情况下,在“spec”、...
书中还可能涉及到了如何在Rails应用中整合RSpec的不同组件,比如Rails的测试工具和RSpec的扩展。 综上所述,RSpec 3.1中文版是一本针对Rails开发者,特别是希望学习或提高其RSpec使用技能的开发者的实践指南。它...
rspec-rails rspec-rails将测试框架带到作为其默认测试框架Minitest的替代品。 在RSpec中,测试不仅仅是验证您的应用程序代码的脚本。 它们也是规范(或简称为spec ):用纯英语表示的有关应用程序行为的详细说明。 ...
配置 RSpec 以改变默认输出格式,可以在 `config/application.rb` 文件中设置 `config.generators do |g| g.test_framework :rspec, format: :documentation end`,这样会将输出格式改为更易读的文档格式。...
RSpec控制台允许您在Rails控制台中运行RSpec测试。 最好与搭配使用。 在使用,它特别有用,因为它将为您保持活动的JVM运行。 这极大地减少了在jRuby中执行TDD的反馈循环-一切都不会弄乱指甲! 观看截屏 用法 1)...
标题 "自动化生成支持cucumber,Rspec的Rails(持续更新中)" 暗示了这个压缩包文件的内容可能涉及使用Cucumber和RSpec这两种自动化测试工具在Ruby on Rails框架下的集成和配置。Cucumber是一种行为驱动开发(BDD)的...
旧的自述文件Testbot是一个测试分发工具,可与Rails,RSpec,RSpec2,Test :: Unit和Cucumber一起使用。 基本思想是让testbot将测试的负载分散到多台计算机上,以使测试运行更快。 在11台机器(25个内核)上使用...
##在 Rails 中快速设置 RSpec,使用 Capybara、Factory Girl、Database Cleaner、Shoulda-matchers 等... 在命令行中,运行rails new app_name -T (关闭默认测试单元) 将 Gems 添加到 gemfile,然后捆绑。 gem '...
10. **测试**:测试是API开发的关键部分,Rails API支持RSpec、Minitest等多种测试框架,方便编写和执行API端点的测试用例。 Rails API文档是学习和开发这个框架的重要资源。它详细介绍了如何设置项目、配置路由、...
总之,理解如何在Ruby和Ruby on Rails中安全地解析JSON数据是至关重要的,无论是直接使用内置的`JSON`库,还是通过自定义的模块,如`SafeJSON`,都可以帮助我们有效地处理JSON数据,同时避免潜在的安全风险。在实际...
3. **深度剖析RSpec**:作为RSpec领域内的一位权威专家,Noel Rappin在书中对RSpec的使用方法进行了深度剖析,为读者揭示了这一工具的强大功能及其在提高测试效率方面的作用。 4. **广泛的适用性**:无论你是正在...
同时,可以设置`Content-Type`响应头为`application/json`,表明返回的数据是JSON格式。 4. 资源路由:Rails的路由系统允许开发者定义资源路由,例如`resources :users`,这会自动为用户提供一系列与用户相关的URL...
Rails集成了测试框架如RSpec和MiniTest,允许开发者编写单元测试、集成测试和功能测试,确保代码的稳定性和可靠性。 安全方面,Rails提供了许多安全特性,如CSRF(跨站请求伪造)防护、XSS(跨站脚本)防御、以及...
单元测试和功能测试是Rails中两种主要的测试类型,它们在目的、范围和实现方式上有所不同。本文将详细探讨Rails中单元测试和功能测试的区别,并提供实际代码示例。 单元测试和功能测试是Rails测试策略的两个重要组成...
一个 JSON 编码器,专为 Rails 的需求量身定制。 目标是利用领域知识并加速 Rails 应用程序中的 JSON 编码过程。 这个 gem 与 Rails 4.1+ 兼容。 当前状态 目前,这是高度实验性的。 性能与当前的 Rails JSON 编码...