7 months ago

要求:实现一个完整功能的demo,功能包括:
1、注册、登录
2、可以创建meetup活动,可以查看meetup活动列表
3、每个meetup活动下可以评论,评论要显示楼号
4、实现登录、查询meetup活动列表的接口,并提供rakemiddleware的方式来完成接口端的用户请求认证
5、关键功能要包含rspec测试代码,比如接口、基本的业务逻辑
6、可以是使用bootstrap或其他前段框架来完成界面

以下只提供思路和参考网址,并附上github网址,不会提供具体的代码:

一、基本功能:
1、首先创建新项目,进行基础设施的搭建,基础设施包含:bootstrap/devise/simpleform

2、实作Meetup的CRUD,将user_id加入进meetup,让user和meetup产生关联

3、建立comment的model.包含meetup_id 和 user_id,并建立comment的new和create的action

4、建立meetup的show页面,可以评论并显示楼号

二、建立API服务器,实现API接口,要求:实现API登录、查询meetup活动列表,并产生API用的token
1、产生API Controller,参考教材在web api 3-5
2、产生API用的token,参考教材在web api 4-3
3、实作AuthController可以注册、登入和登出API,参考教材web api 5-2
4、产生api/v1/meetups,网址api/v1是API专用版本,只需要实作index/action,并使用JSON形式输出,并配置好路由,这样就可以通过接口查询到meetup了,可以在postman中测试,参考教材实作GET/meetups

三、自动化测试api的注册、登入、登出功能,参考教材自动化测试5-3/5-4,并且测试meetup的CRUD7个action的功能,参考教材xdite#RSpec on Rails101
自动化测试要注意的地方是:与devise结合使用者必须先登入才能操作meetup的某些需被验证的action(如果这个action需要验证是否有登录的话),devise提供了Controller和view测试用的Helper方法,使用Rspec测试的话,将此段代码直接加入到rails_helper.rb中:
RSpec.configure do |config|
config.include Devise::Test::ControllerHelpers, type: :controller
config.include Devise::Test::ControllerHelpers, type: :view
end
然后在测试中加入一行:sign_in user,这样就可以在测试中使用到meetup的所有action了

github网址

← 保龄球算法测试 数据库ORID →
 
comments powered by Disqus