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/”目录中找到。

OBS webui 测试套件