Ruby测试工具 - Capybara

fmms 13年前
     Capybara 旨在简化测试 Rack 应用(Rails、Sinatra、Merb等应用)的集成过程。Capybara 可模拟一个真实的用户跟Web应用进行交互。    <br />    <br /> 项目地址:    <a href="/misc/goto?guid=4958185336407221702" target="_blank">https://github.com/jnicklas/capybara</a>    <br />    <br /> 示例测试代码:    <pre class="brush:ruby; toolbar: true; auto-links: false;">    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>    <p><a href="/misc/goto?guid=4958183258527670296" target="_blank"><strong>Ruby on Rails</strong> </a>是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,Rails 为你提供一个纯Ruby的开发环境。发布网站时,你只需要一个数据库和一个网络服务器即可。</p>    <p>Ruby On Rails是一个用于编写网络应用程序的软件包.它基于一种计算机软件语言Ruby,给程序开发人员提供了强大的框架支持.你可以用比以前少的多的代码和 短的多的时间编写出一流的网络软件.比较著名的社区网站43things.com, odeo.com和basecamphq.com就是用Ruby On Rails编写的.</p>    <p>Ruby On Rails的指导原则是”不要重复你自己”(Don’t Repeat Yourself, 或DRY).意思是说你写的代码不会有重复的地方.比如以往数据库的接口往往是类似的程序代码但是在很多地方都要重复用到.这无论是给编写还是维护都造成 了很大的代价.相反,Ruby On Rails给你提供了绝大多数的支持,让你只需要短短的几行代码就可以实现强大的功能.而且,Rails提供了代码生成工具,让你甚至不需要编写一行代码 就实现强大的管理程序.</p>    <p>Ruby On Rails通过reflection和runtime extension减少了对configuration文件的依靠,这和Java,C#语言的方向有很大不同,让你减少了很多配置和部署的麻烦,但是性能上却完全可以应付一般网站的需求.</p>    <p>Rails 支持各类网络服务器和数据库。在服务器方面,我们推荐Apache、 lighttpd 或 nginx 代理至 Mongrel (或者使用FastCGI)。 数据库方面,你可以采用MySQL、PostgreSQL、 SQLite、 Oracle、 SQL Server、 DB2、 或其他任何我们支持的系统。 Rails可以在各类操作系统上运行,不过我们建议采用基于'nix的系统进行开发。<br /> <img title="Ruby On Rails是一个用于编写网络应用程序的软件包" border="0" alt="Ruby On Rails是一个用于编写网络应用程序的软件包" src="https://simg.open-open.com/show/0617edb229c5ef830ac646e1233fa8e0.jpg" width="87" height="111" /><br /> </p>    <div id="p_fullcontent" class="detail">     <p style="font-weight:bold;"><a href="/misc/goto?guid=4958185337828746215" target="_blank">Sinatra</a>:一个优雅地包装了Web开发的DSL</p>     <p>你相信用100行代码可以实现一个博客吗?用Sinatra框架就可以做到。下面就是这样子的一个Web应用:<br /> <br /> <span style="font-size:medium;"><a href="/misc/goto?guid=4958185338563204402" target="_blank">Reprise - A Minimalistic Blog</a><br /> </span><br /> 这个应用的代码:点<a href="/misc/goto?guid=4958185339313673867" target="_blank">这里</a>查看</p>     <p><br /> 一个简单的hello world的web应用要写多少代码?用Sinatra只需5行代码:</p>     <p><span style="color:#3366ff;">require 'rubygems'<br /> require 'sinatra'<br /> <br /> get '/' do<br />   'Hello World'<br /> end</span></p>     <p><span style="color:#3366ff;">安装方法:</span></p>     <p><span style="color:#3366ff;"><span style="line-height:20px;font-family:helvetica, sans-serif;color:#111111;font-size:17px;"> </span></span></p>     <pre style="border-bottom:#d5d0d2 0px solid;border-left:#d5d0d2 0px solid;padding-bottom:0px;line-height:1.15;background-color:transparent;margin:0px;padding-left:0px;width:366px;padding-right:0px;font-family:'lucida console', monaco, 'andale mono', 'bitstream vera sans mono', consolas, monospace;color:#111111;font-size:18px;border-top:#d5d0d2 0px solid;border-right:#d5d0d2 0px solid;padding-top:5px;background-origin:initial;background-clip:initial;"><code style="background-color:transparent;font-family:'lucida console',monaco,'andale mono','bitstream vera sans mono',consolas,monospace;color:#666666;font-size:1em;">$ gem install sinatra  $ ruby -rubygems hi.rb</code></pre>     <div id="p_fullcontent" class="detail">      <p style="font-weight:bold;"><a href="/misc/goto?guid=4958185340059188796" target="_blank">Merb</a>是基于Ruby语言的MVC WEB开发框架</p>      <p>从 Rubyforge 上安装 Merb 运行: <span style="font-family:-webkit-monospace;">gem install merb</span></p>      <p>也可以从 Merb 的 "edge" repository 获得:</p>      <p><span style="font-family:-webkit-monospace;">gem install merb --source http://edge.merbivore.com</span></p>     </div>    </div>    <p> </p>