我的配置如下:
的 Rake文件 的
require 'rake/testtask'
Rake::TestTask.new do |t|
t.pattern = 'spec/*_spec.rb'
end
的Gemfile
source 'https://rubygems.org'
gem 'sinatra'
gem 'thin'
gem 'rack-test'
spec_helper.rb
ENV['RACK_ENV'] = 'test'
require 'minitest/autorun'
require 'rack/test'
require_relative '../app'
include Rack::Test::Methods
def app
MyApp
end
app_spec.rb
require_relative 'spec_helper'
describe 'Hello World' do
it 'should have hello world' do
get '/'
last_response.must_be :ok?
# I want to do something like below
last_response.title must_match /home page/i
end
end
如何使用MiniTest和Sinatra测试视图的页面标题。
答案 0 :(得分:2)
您无法单独使用minitest
进行检查。
您应该看 Capybara 来实现这一目标。
Capybara通过模拟真实用户的方式来帮助您测试Web应用程序 会与您的应用互动。
设置完成后,使用 has_title? 匹配器来测试呈现页面的标题。
使用Capybara,您可以测试页面的各个方面,如内容/文本,是否有特定链接,特定按钮,文本字段,电子邮件字段等。 您可以模拟填写表单的行为,然后单击按钮以提交表单。简单地说,它只是通过模拟用户可以在给定页面上执行的操作以及用户在给定页面上可以看到的内容来表现为真实用户。