Welcome

首页 / 软件开发 / 数据结构与算法 / Rails测试《四》实战单元测试unit test

Rails测试《四》实战单元测试unit test2014-03-15之前的博客介绍了一些rails测试相关的知识。测试文件的位置,测试的类型,测试常用命令,以及可用的一些资源,以及如何利用fixtures生成模拟数据。

今天我们来实际的写一下单元测试,用到的知识主要是fixtures和unit test。fixtures用来模拟数据,unit test就是我们今天的主角-单元测试。

今天的代码将以blog项目为背景,为这个项目写一些单元测试。

这个项目的代码可以在https://github.com/woaigithub/blog获取到,而且项目已经部署到http://42.121.5.68:10000/,大家也可以直接在部署的生产环境上面写自己的博客。

master为主分支,develop为开发分支,开发分支中的代码是最新的。

项目使用ruby on rails开发,开发及测试环境使用sqlite3作为数据存储,生产环境使用mysql作为数据存储。

单元测试

rails的单元测试主要针对model,model是我们的业务实体。单元测试主要测试model的validates,以及model的业务规则,测试经过业务规则的执行,我们的model的变化,就是model的属性值,是否符合规则的描述,是否变为预期的值。

==广告开始

这个博客定位为一个协作的博客平台。就是大家每个人都可以在上面写博客,进行博客的管理,包括分类,tag等等。

博客的主要目标用户是开发者,同时也欢迎更多的其他类型从业者在这个平台发表博客。

通过右上角的注册,就可以成为这个博客平台的一个admin,然后就可以写博客,并且管理博客。当然了,看博客是不需要注册的,直接可以浏览。

在footer部分,有一个admin链接,通过链接可以进入后台。当然,进入后台需要登录。

博客平台还在继续开发中,如果大家有什么好的想法,或者想加入开发,都可以在https://github.com/woaigithub/blog上留言。

==广告结束

我们这次的项目是一个博客,有一些基本的功能。

浏览博客列表,分类浏览博客,浏览单个博文。

查看博文留言,给博文留言。

注册用户,登陆平台。

管理博客,管理博文,管理分类,管理tag,管理评论。

表结构如下

### users

id

nickname

email

password_digest

salt

created_at

updated_at

### tags

id

title

created_at

updated_at

### categorys

id

title

created_at

updated_at

### comments

id

commenter

commenter_email

commenter_url

content

post_id

created_at

updated_at

### posts

id

title

slug

category_id

summary

content

created_at

updated_at

user_id

### posts_tags

post_id

tag_id