Ruby測試工具 - Capybara

fmms 13年前發布 | 21K 次閱讀 Ruby 測試

Capybara 旨在簡化測試 Rack 應用(Rails、Sinatra、Merb等應用)的集成過程。Capybara 可模擬一個真實的用戶跟Web應用進行交互。

項目地址: https://github.com/jnicklas/capybara

示例測試代碼:

    feature "Signing up" do
      background do
        User.make(:email => 'user@example.com', :password => 'caplin')
      end

  scenario "Signing in with correct credentials" do
    within("#session") do
      fill_in 'Login', :with => 'user@example.com'
      fill_in 'Password', :with => 'caplin'
    end
    click_link 'Sign in'
  end
end</pre> 

Ruby on Rails 是一個用于開發數據庫驅動的網絡應用程序的完整框架。Rails基于MVC(模型- 視圖- 控制器)設計模式。從視圖中的Ajax應用,到控制器中的訪問請求和反饋,到封裝數據庫的模型,Rails 為你提供一個純Ruby的開發環境。發布網站時,你只需要一個數據庫和一個網絡服務器即可。

Ruby On Rails是一個用于編寫網絡應用程序的軟件包.它基于一種計算機軟件語言Ruby,給程序開發人員提供了強大的框架支持.你可以用比以前少的多的代碼和 短的多的時間編寫出一流的網絡軟件.比較著名的社區網站43things.com, odeo.com和basecamphq.com就是用Ruby On Rails編寫的.

Ruby On Rails的指導原則是”不要重復你自己”(Don’t Repeat Yourself, 或DRY).意思是說你寫的代碼不會有重復的地方.比如以往數據庫的接口往往是類似的程序代碼但是在很多地方都要重復用到.這無論是給編寫還是維護都造成 了很大的代價.相反,Ruby On Rails給你提供了絕大多數的支持,讓你只需要短短的幾行代碼就可以實現強大的功能.而且,Rails提供了代碼生成工具,讓你甚至不需要編寫一行代碼 就實現強大的管理程序.

Ruby On Rails通過reflection和runtime extension減少了對configuration文件的依靠,這和Java,C#語言的方向有很大不同,讓你減少了很多配置和部署的麻煩,但是性能上卻完全可以應付一般網站的需求.

Rails 支持各類網絡服務器和數據庫。在服務器方面,我們推薦Apache、 lighttpd 或 nginx 代理至 Mongrel (或者使用FastCGI)。 數據庫方面,你可以采用MySQL、PostgreSQL、 SQLite、 Oracle、 SQL Server、 DB2、 或其他任何我們支持的系統。 Rails可以在各類操作系統上運行,不過我們建議采用基于'nix的系統進行開發。
Ruby On Rails是一個用于編寫網絡應用程序的軟件包

Sinatra:一個優雅地包裝了Web開發的DSL

你相信用100行代碼可以實現一個博客嗎?用Sinatra框架就可以做到。下面就是這樣子的一個Web應用:

Reprise - A Minimalistic Blog

這個應用的代碼:點這里查看


一個簡單的hello world的web應用要寫多少代碼?用Sinatra只需5行代碼:

require 'rubygems'
require 'sinatra'

get '/' do
  'Hello World'
end

安裝方法:

 

$ gem install sinatra
$ ruby -rubygems hi.rb

Merb是基于Ruby語言的MVC WEB開發框架

從 Rubyforge 上安裝 Merb 運行: gem install merb

也可以從 Merb 的 "edge" repository 獲得:

gem install merb --source http://edge.merbivore.com

 

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!