我正在设置一个基本模板,用于在rails应用程序中进行水豚功能测试.我也使用MiniTest而不是RSPEC.
运行Rake测试似乎没有进行我的功能测试.我在文件中有一个测试,运行rake测试不会改变断言的数量.当我运行rake测试时,跳过测试也不会显示.
以下是存储库的链接:https://github.com/rrgayhart/rails_template
以下是我遵循的步骤
我将它添加到Gemfile并运行bundle
group :development, :test do
gem 'capybara'
gem 'capybara_minitest_spec'
gem 'launchy'
end
Run Code Online (Sandbox Code Playgroud)我将其添加到test_helper中
require 'capybara/rails'
Run Code Online (Sandbox Code Playgroud)我创建了一个文件夹测试/功能
我创建了一个名为drink_creation_test.rb的文件
以下是该功能测试文件的代码
require 'test_helper'
class DrinkCreationTest < MiniTest::Unit::TestCase
def test_it_creates_an_drink_with_a_title_and_body
visit drinks_path
click_on 'new-drink'
fill_in 'name', :with => "PBR"
fill_in 'description', :with => "This is a great beer."
fill_in 'price', :with => 7.99
fill_in 'category_id', :with => 1
click_on 'save-drink'
within('#title') do
assert page.has_content?("PBR")
end
within('#description') do
assert page.has_content?("td", text: "This is a great beer")
end
end …Run Code Online (Sandbox Code Playgroud)我有一个用Sinatra编写的应用程序在本地工作,但我似乎无法推动到heroku.
当我尝试推送到heroku时,我收到以下错误:
----->编写config/database.yml以从DATABASE_URL读取无法检测rake任务确保您可以在
$ bundle exec rake -P没有环境变量且使用Gemfile的生产组的情况下针对您的应用运行.这可能是故意的,如果您希望运行rake任务取消构建(CTRL + C)并修复错误然后提交修复:rake aborted!无效的DATABASE_URL
我的Gemfile
source 'https://rubygems.org'
ruby '2.0.0'
gem 'sinatra', require: 'sinatra/base'
gem "pg"
gem "activerecord"
gem "sinatra-activerecord"
gem "rake"
gem 'minitest', require: false
gem 'rack-test', require: false
gem 'faraday'
gem 'json'
gem 'minitest-reporters'
Run Code Online (Sandbox Code Playgroud)
我的database.yml文件
development:
adapter: postgresql
encoding: unicode
database: calendar_development
host: localhost
password:
test:
adapter: postgresql
encoding: unicode
database: calendar_test
pool: 5
host: localhost
password:
Run Code Online (Sandbox Code Playgroud)
我的config.ru
require './app'
run Sinatra::Application
ENV['RACK_ENV'] ||= 'development'
Run Code Online (Sandbox Code Playgroud)
Procfile
web: bundle exec rackup config.ru …Run Code Online (Sandbox Code Playgroud)