March 16, 2014

使用Jenkins搭建持续集成服务

1. 什么是持续集成

持续集成 (Continuous Integration, 简称 CI) 是软件工程中的一种实践,

用于将开发人员不同阶段的工作成果集成起来, 通常一天之中会进行多次. 持续集成最初在

极限编程 (Extreme Programming) 中提出, 主要用于执行自动化测试.

目前持续集成的概念已经逐渐独立出来, 并扩展为 构建服务器 (Build Server),

质量控制 (Quality Control) 和 持续交付 (Continuous Delivery)

等多种形式和实践. 详细可以参见 Wikipedia.

下面我们就看一下如何搭建 Jenkins (一......

March 10, 2013

在 Rails 项目中使用 Cucumber 进行验收测试

(注:文中用到的项目源码位于 github)

在某些情况下,Cucumber 非常适合用来做验收测试。

1. 在 Rails 项目中配置 Cucumber

在 Gemfile 中的 test 区域添加:

group :test do

gem 'cucumber-rails', :require => false

end

然后执行 bundle install。

接下来执行 rails generate cucumber:install (可以先在后面加 --help 查看可用的选项)。

2. 一个简单的测试

创建 features/view_posts......

October 21, 2012

使用 Rspec, Capybara 和 Zeus 等测试 Rails 项目

1. Rails 项目测试

在此我们关注下面两种类型的测试:

单元测试:

针对 models, helpers, mailers 和 lib 等下的代码.

测试代码位于 spec 文件夹下的同名的子文件夹, 例如 spec/models.

测试文件的相对路径和要测试的文件保持一致, 文件名加 _spec, 例如

app/models/user.rb 的单元测试文件应该位于 spec/models/user_spec.rb

验收测试:

模拟用户在浏览器的操作, 对网站的功能进行测试.

验收测试以功能模块为单位进行测试, 例如用户注册, 添加文章等.

验收测试的代码位于 spec/reque......