1 对于controller render/redirect的测试,一般对应以下的测试方法
render :action => :index
response.should render_template('index')
render :partial => 'post'
response.should render_template('_post')
redirect_to login_path
response.should redirect_to(login_path)
但是对于render :nothing = true来说,并没有相应的方法来测试,也无法用render_template来解决,只能是判断返回的response的内容是不是为空了。
response.should have_text(' ')
注意是 ,不是,至于为什么有个空格?我也没有仔细研究
response.body.should =~ /Listing widgets/m
response.body.should eq("")
2 对于controller with invalid params的测试,一般对应以下的测试方法
Member.any_instance.stub(:delete).and_return(false)
3 控制器中方法的调用
subject.send(:log_in,@user)
----------------------------------------实例-----------------------------
1 控制器中的 before_filter
class MyController < ApplicationController
before_filter :logged_in?
def index
end
end
describe MyController do
describe "GET 'index'" do
context "when not logged in"
# you want to be sure that before_filter is executed
it "requires authentication" do
controller.expects :logged_in?
get 'index'
end
# you don't want to spec that it will redirect you to login_path
# because that spec belongs to #logged_in? method specs
end
context "when authenticated" do
before(:each) { controller.stubs :logged_in? }
it "renders :index template" do
get 'index'
should render_template(:index)
end
it "spec other things your action does when user is logged in"
end
end
end
分享到:
相关推荐
了解如何创建 RSpec 控制器测试 为控制器初始化 RSpec 利用 RSpec 方法 学习方法 render_template(:view_filename) be_success include([array, of, things]) eq() be_a(Class) be_persisted redirect_to(path or ...
在测试Rails应用的过程中,RSpec可以用来测试模型(model)、视图(view)和控制器(controller)。模型测试确保应用的数据存储和检索逻辑是正确的。视图测试验证渲染出的HTML是否符合预期,而控制器测试则保证应用能够...
**rspec_receitas:几个RSpec测试配方** `rspec_receitas` 是一个专注于RSpec测试框架的项目,它提供了一系列测试示例,用于帮助开发者更好地理解和应用RSpec在Ruby on Rails 5应用程序中的实践。RSpec是Ruby社区...
这个gem将assigns给控制器测试的内容以及assert_template带回assigns控制器和集成测试的内容。 这些方法已中。 安装 将此行添加到您的应用程序的Gemfile中: gem 'rails-controller-testing' 然后执行: $ ...
Rails内置了Test::Unit和RSpec等测试框架,开发者可以通过编写测试先于代码来确保程序的正确性。测试覆盖包括单元测试、集成测试和功能测试。 Rails还提供了丰富的插件和gem库,如Devise用于身份验证,CanCanCan...
它允许你集成RSpec到Rails项目中,包括生成测试套件,以及提供Rails特定的匹配器和宏,如`controller`, `model`, `request`, 和 `feature` 测试。 3. **Capybara**: Capybara是一个用于Rails应用的集成测试库,它...
`sort_display_test.rb`可能包含了使用MiniTest或RSpec等测试框架编写的测试用例,测试排序功能的正确性。而`sort_display.rb`可能是实现排序逻辑的模型或控制器代码。面试时,可能会讨论如何设计和编写单元测试,...
通过这个 Apicurious 示例项目,开发者可以学习到如何有效地测试 Rails API 控制器,理解如何组织测试代码,以及如何使用 RSpec 和 FactoryBot 来提高测试效率。它是一个很好的起点,可以帮助新手或经验丰富的开发者...
7. **测试**:介绍RSpec或其他测试工具,如何编写单元测试、集成测试和功能测试。 8. **辅助方法和局部变量**:在视图中的辅助方法和局部变量的使用,提升视图的可读性和复用性。 9. **Gem包管理**:Ruby的Gem系统...
RoR内置了Test::Unit和RSpec等测试框架,让你可以轻松创建单元测试、集成测试和功能测试。 视图层通常使用ERB(Embedded Ruby)模板,也可以选择Haml或Slim等更简洁的格式。ActionView提供了一套强大的辅助方法,...
RoR内置了Test::Unit和RSpec等测试框架,开发者可以方便地进行单元测试、集成测试和功能测试,确保代码的质量和稳定性。 RoR还引入了“生成器”(Generators)的概念,用于快速生成常见的文件结构,如控制器、模型...
8. **测试驱动开发(TDD)**:Rails鼓励使用测试来驱动开发,内置了Test::Unit和RSpec等测试框架。 9. **Scaffolding**:Rails的快速开发工具,可以自动生成用于CRUD(创建、读取、更新、删除)操作的基本控制器、...
测试在Rails开发中占据重要地位,Rails自带了Test::Unit和RSpec等测试框架,鼓励TDD(测试驱动开发)和BDD(行为驱动开发)。通过编写测试,开发者可以确保代码的质量和应用的功能。 最后,Rails社区非常活跃,有...
7. **测试驱动开发(TDD)和集成测试**:Rails鼓励使用测试驱动开发,内置了RSpec和MiniTest等测试框架,可以编写单元测试、功能测试和集成测试,确保代码质量。 8. **Scaffold**:Rails的scaffold生成器可以帮助...
Jake使用RSpec进行测试,这是Ruby社区广泛使用的测试框架。测试是确保代码质量、可靠性和功能完整性的重要环节。通过编写测试,开发者可以验证GraphQL查询是否按预期工作,以及Rails API是否正确处理请求并返回正确...
10. **测试框架**:Rails内置了Test::Unit和RSpec作为测试工具,支持单元测试、集成测试和功能测试,确保代码的质量和稳定性。 API文档中的CHM文件是一种Windows的帮助文件,通常包含索引、搜索和书签功能,方便...
6. **自动化测试**:Rails内置了Test::Unit和RSpec等测试工具,方便进行单元测试和集成测试。 《RubyCourse_1.0-1.pdf》这本书可能包含了以下内容: 1. **基础篇**:介绍Ruby语言的基本语法,包括变量、常量、数据...
6. **测试框架**:Rails 2.1包含了Test::Unit和RSpec两种测试框架,提供了完整的测试覆盖,包括单元测试、集成测试和性能测试。改进后的测试助手和模拟功能使得测试编写更加简洁。 7. **部署和配置**:Rails 2.1...
5. **测试驱动开发(TDD)**:Rails鼓励使用测试驱动开发,内置了Test::Unit和RSpec等测试框架,允许开发者编写单元测试、集成测试和功能测试,确保代码质量。 6. **Gem生态系统**:Ruby on Rails依赖于Gem包管理...
- RSpec:一种流行的Rails测试框架,用于行为驱动开发。 - MiniTest:内置的测试库,包括unit测试和functional测试。 6. **Rails开发工具**: - Bundler:管理Gem依赖,确保项目依赖的一致性。 - Rails Console...