我有一个程序,用户可以在该程序中发布“窥视”,以及时间戳。我如何使用水豚测试这个?问题是每次创建新的时间标记时,时间都不相同。我需要在水豚中创建某种存根/模拟吗?帮助将不胜感激。谢谢。如何使用水豚测试时间戳?
class Peep
include DataMapper::Resource
property :id, Serial
property :title, String
property :text, String
property :created_at, DateTime
end
DataMapper.setup(:default, "postgres://localhost/chitter_#{ENV['RACK_ENV']}")
DataMapper.finalize
DataMapper.auto_upgrade!
App.rb:
require 'data_mapper'
require 'sinatra/base'
require 'sinatra/flash'
require_relative './models/peep.rb'
require_relative './models/user.rb'
ENV["RACK_ENV"] ||= "development"
class Chitter < Sinatra::Base
enable :sessions
register Sinatra::Flash
set :session_secret, 'super secret'
get '/' do
'You arrived at the homepage'
end
get '/peeps' do
@peeps = Peep.all
erb(:index)
end
get '/peeps/new' do
erb(:new)
end
get '/users/new' do
@user = User.new
erb(:'users/new')
end
post '/users' do
@user = User.create(email: params[:email],
password: params[:password],
password_confirmation: params[:password_confirmation])
if @user.save
session[:user_id] = @user.id
redirect to('/peeps')
else
flash.now[:errors] = @user.errors.full_messages
erb(:'users/new')
end
end
post '/peeps' do
peep = Peep.new(title: params[:title], text: params[:text])
peep.save
redirect to('/peeps')
end
helpers do
def current_user
@current_user ||= User.get(session[:user_id])
end
end
run! if app_file == $PROGRAM_NAME
end
浏览:
<h1> Peeps </h1>
<ul id='peeps'>
<% @peeps.reverse.each do |peep| %>
<li id="peeps">
Title: <%= peep.title %>
Text: <%= peep.text %>
created_at: <%= peep.created_at %>
</li>
<% end %>
</ul>
你究竟想要测试什么?你如何尝试过?你提取什么问题? –