/*magicgod java保留地*/

« 那本关于gaim的书可以更加精简一点 | Main | rjs的使用 »

http://blog.matrix.org.cn/magicgod/date/20070831 星期五 2007年08月31日

rails的缺省三层测试

rails缺省的测试建议就是三层:
1. Unit Test 单元测试,用于测试各种域对象,也可以测试一些工具类。
2. Functional Test 功能测试,其实是对于controller测试,有点象web层面的单元测试。
3. Integration Test 集成测试,这个最贴近业务需求,往往是将几个页面串起来,以一个业务动作为基本单位。

这些测试都是写代码来测试,似乎并没有录制工具来生成,不过因为ruby的代码实在是非常简洁,写起来应该不算费力的。最难的web测试已经分解为一些预置的mock类,很容易写代码来测试。

测试是需要环境支持的,rails 缺省使用Test数据库环境,大多数应用所指的环境就是数据库环境,如果有特殊的环境要求还可以在setup里配置。

测试数据是放在 Test Fixture里的,都是一些简单的yaml文件,由于支持erb,使得测试数据可以成为动态数据,比如当前时间的前一个小时、sha1加密的密码之类。这些动态数据的灵活性要超过SQL和dump文件。

当你开始测试应用的时候,需要的是:
1. 准备好Test数据库环境(基本上只要建一个库,另外用rake从开发数据库来生成一个schema.rb)。
2. 准备好测试数据 Test Fixture,填好内容,并且理顺他们之间的关系。
3. 写好三层测试代码。

最后,开始 rake test,一切就开始了。虽然没有红绿条,但是感觉比JUnit要踏实。

评论:

发表一条评论:
该日志评论功能被禁用了。

Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.