基本
require "spec_helper"
describe "routes for Widgets" do
it "routes /widgets to the widgets controller" do
{ :get => "/widgets" }.
should route_to(:controller => "widgets", :action => "index")
end
end
{ :delete => "/accounts/37" }.should_not be_routable
require "spec_helper"
describe "routes for Widgets" do
it "routes /widgets to the widgets controller" do
get("/widgets").
should route_to("widgets#index")
end
end
#路由如下
match '/:city/*destination' => 'cities#myaction', :constraints => {:city => /#{City.all.map{|c|c.slug}.join('|')}/}
describe "routing" do
before(:each) do
@mock_city = mock_model(City, :id => 42, :slug => 'some-city')
City.stub!(:find_by_slug => @mock_city, :all => [@mock_city])
MyApp::Application.reload_routes!
end
it "recognizes and generates a route for city specific paths" do
{ :get => '/some-city/some/path' }.should route_to({:controller => "cities", :action => "myaction", :destination => 'some/path', :city => 'some-city'})
end
it "rejects city paths for cities that don't exist in the DB" do
{ :get => '/some-bad-city/some/path' }.should_not be_routable
end
end
分享到:
相关推荐
### 使用RSpec 测试Rails 程序的知识点总结 #### 一、RSpec与Rails结合的基础概念 **RSpec**(RSpec is not a unit testing framework)是一种为Ruby编程语言设计的行为驱动开发(BDD)框架,而**Rails**是基于...
**rspec_receitas:几个RSpec测试配方** `rspec_receitas` 是一个专注于RSpec测试框架的项目,它提供了一系列测试示例,用于帮助开发者更好地理解和应用RSpec在Ruby on Rails 5应用程序中的实践。RSpec是Ruby社区...
"通过 Rspec 测试" 表明项目采用 RSpec 这个 Ruby 的行为驱动开发(BDD)测试框架来确保代码质量。 **描述解析:** 描述中提到,该应用程序实现了 CRUD(创建、读取、更新、删除)操作,这是任何数据管理应用的...
此外,FactoryGirl(现更名为 FactoryBot)是 RSpec 中常用的测试数据生成工具,可以方便地创建复杂关联的对象,如在 `spec/factories/products.rb` 中定义产品工厂。 例如,创建一个产品工厂: ```ruby ...
总的来说,这个课程将带领学习者深入理解如何使用Ruby on Rails进行BDD实践,通过编写RSpec测试确保代码质量,并利用Capybara进行功能测试,保证用户界面的正确性。同时,对于CoffeeScript的使用,可以提升学员对...
测试应用的路由配置同样重要,该指南提供了如何测试路由的方法,确保应用中的URL路径与预期一致。 十、测试邮件发送器 邮件发送是许多应用的重要功能,该部分专门讲解了如何测试邮件发送器,确保邮件能够按预期...
您可以使用rspec命令运行测试。 记住要rake db:seed来设置入门歌曲库! 创建嵌套的资源路由以显示某个艺术家的所有歌曲( /artists/1/songs )和该艺术家的个别歌曲( /artists/1/songs/1 )。 将嵌套的歌曲路由...
1. 使用RSpec进行行为驱动开发(BDD)测试,配合FactoryBot创建测试数据。 2. 每个模型应有对应的模型测试,每个控制器应有对应的控制器测试。 3. 测试应覆盖所有关键功能,并保持测试代码简洁明了。 六、其他最佳...
在Ruby on Rails的源代码中,我们可以深入理解其内部工作原理,包括路由、数据库交互(ActiveRecord)、模板引擎(ERB或Haml)、测试工具(Rspec或Minitest)等核心组件。以下是一些关键知识点的详细解释: 1. **...
总的来说,Ruby on Rails实践涉及的知识点包括但不限于:Ruby语言基础、Rails框架结构、MVC模式、ActiveRecord、路由、测试驱动开发、插件和gem使用、以及部署策略。通过学习和实践,开发者能够快速构建功能丰富的...
5. **测试集成**:WebValve与常见的测试框架如RSpec、Minitest等兼容良好,可以方便地集成到测试用例中,确保服务接口的正确性。 6. **性能优化**:由于WebValve运行在内存中,因此它的响应速度通常比调用远程服务...
5. **Rails测试**:包括单元测试、集成测试、功能测试和性能测试,使用RSpec、Minitest等工具进行测试驱动开发。 6. **Rails gems和插件**:了解如何利用社区创建的gem扩展Rails的功能,如Devise用于身份验证,...
此外,Rails提供了丰富的内置功能和库,如路由系统,自动化的测试工具如RSpec和Capybara,以及ActionMailer用于发送电子邮件。还有Asset Pipeline,它管理应用的CSS、JavaScript和图片资源,支持Sass、CoffeeScript...
7. **spec/**:测试文件,通常使用RSpec或其他测试框架编写。 8. **public/**:静态资源,如CSS、JavaScript和图片。 9. **vendor/**:第三方代码或库。 10. **README.md**:项目介绍和指南。 **知识点详解:** 1....
7. **测试与调试**:Rails强调测试驱动开发,文档会讲解测试框架RSpec和MiniTest的用法,以及如何进行单元测试、集成测试和功能测试。此外,还包括调试工具如byebug的使用。 8. **配置与部署**:Rails的应用可以...
测试 API 控制器时,通常会使用像 RSpec 这样的行为驱动开发(BDD)框架,以及像 FactoryBot 或 FactoryGirl(已被弃用)这样的工厂女孩库来创建测试数据。Rspec 允许我们编写清晰、可读性强的断言,确保控制器方法...
`rspec-rails`和`capybara`是常用的测试库,它们帮助开发者编写易于理解和维护的测试代码。 总的来说,《敏捷Web开发与Rails》涵盖的主题广泛,从基础的路由和控制器,到复杂的模型关联和数据库优化,再到测试和...
- `spec`:rspec测试代码所在的位置,每个`spec`文件对应`lib`中的一个模块或类,用以验证其功能。 - `Gemfile`:Ruby项目的依赖管理文件,列出了项目所需的gem包,包括rspec本身和其他可能的库。 - `README.md`:...
可以使用rspec运行测试。 注意:由于我们是在已经有测试的现有项目上构建新功能,因此,工作的一部分是确保在开始时通过的测试在完成后仍然通过! 创建一个Preference模型,该模型将存储该应用程序的首选项。 它...
可以使用rspec运行测试。 注意:由于我们是在已经有测试的现有项目上构建新功能,因此,工作的一部分就是确保在开始时通过的测试在完成后仍然通过! 创建一个Preference模型,该模型将存储该应用程序的首选项。 ...