openSUSE:构建服务测试套件
OBS 测试套件
OBS api 测试套件
api 测试套件正在测试为 api 提供动力的 ruby on rails 栈的代码,包括后端的部分。目前这仅是源服务器,但可以扩展到覆盖更多部分。
安装 api 测试套件
首先,您需要所有必需的软件包依赖项。最简单的方法是从“openSUSE:Tools”项目添加匹配的仓库并安装 obs-api 和 obs-server 软件包。
之后,您可以克隆 git 仓库
git clone git://gitorious.org/opensuse/build-service.git cd build-service git submodule update --init
您需要拥有一个正在运行的 mysql 数据库,其中包含 OBS api 数据库。请阅读“dist/README.SETUP”文件以获取说明。
您还需要创建并配置一个“test”数据库,例如通过调用
# mysql -u root -p
mysql> create database api_test;
mysql> GRANT all privileges ON api_production.* TO 'obs'@'%', 'obs'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
然后
# cd src/api # cp config/database.yml.example config/database.yml
并编辑 config/database.yml 文件的 test 部分,使其包含 username: obs
运行测试套件
运行测试套件很简单,只需转到正确的目录并调用
# cd src/api # rake test
运行单个测试
要运行单个测试,您可以运行
# ruby test/functional/source_controller_test.rb
例如。
编写测试
添加固定数据
您的测试可能依赖于现有数据。为了拥有固定的数据,您需要添加一个 fixture。请检查任何 test/fixtures/$DATABASE_TABLE.yml 文件。您可以扩展现有文件或将新文件添加到此目录中。
添加功能测试
现有的功能测试可以在“test/functional/”目录中找到。