Rspec 与水豚的集成测试

Rspec 与水豚的集成测试,rspec,sinatra,capybara,integration-testing,Rspec,Sinatra,Capybara,Integration Testing,我正在尝试对我的应用程序进行集成测试,以涵盖所有功能。我的应用程序只是上传了一个文件,它会引导你进入另一个页面,页面上会显示一条消息“你的数据库已更新”。用户看不到它,但当他上传excel文件时,它会更新数据库。嗯,我使用了水豚和Rspec来测试我是否上传了一个excel文件。测试通过绿色,但我不明白为什么,因为我写了一个错误的消息,以检查测试工作正常,仍然通过。。。我是新手,所以我需要一些帮助 规范/应用\集成\规范rb require File.join(File.dirname(__FIL

我正在尝试对我的应用程序进行集成测试,以涵盖所有功能。我的应用程序只是上传了一个文件,它会引导你进入另一个页面,页面上会显示一条消息“你的数据库已更新”。用户看不到它,但当他上传excel文件时,它会更新数据库。嗯,我使用了水豚和Rspec来测试我是否上传了一个excel文件。测试通过绿色,但我不明白为什么,因为我写了一个错误的消息,以检查测试工作正常,仍然通过。。。我是新手,所以我需要一些帮助

规范/应用\集成\规范rb

require File.join(File.dirname(__FILE__), '..', 'app.rb')
require 'capybara'
require 'capybara/rspec'
Capybara.app = LaMareta

describe "Updating Vip customers database", :type => :feature do
  before {
    DataMapper.setup(:default, 'postgres://david:123456@localhost/usersmareta')
    DataMapper.finalize.auto_upgrade!
  }
  after {
    clients_database = VipClient.all
    clients_database.each { |client| client.destroy }
  }
  it "Uploads succesfully an excel file with Vip customers data birhtday" do
    visit '/'
    attach_file('birthdayFile', 'spec/fixtures/databasetest.xlsx')
    click_button 'Upload_excel'
    expect(page).to have_content 'Hola'
  end
end
upload.rb

<h1>My file uploader!!</h1>
<form action="/upload" method="post" enctype='multipart/form-data'>
  <input type='file' name='birthdayFile' accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel">
  <input type='submit' value='Upload!' id="Upload_excel">
</form>

你是如何进行测试的?输出是什么?我输入rspec spec/app_integration_spec.rb,输出是更新Vip客户数据库警告:tilt以非线程安全的方式自动加载“tilt/erb”;建议明确要求“倾斜/再倾斜”。成功上载一个excel文件,其中包含Vip客户数据。birhtday在1.07秒内完成(文件加载耗时3.31秒)1个示例,0个失败,字符串
Hola
除了在规范中之外,在代码中没有其他地方出现?是的,我将Hola作为结果放入规范中等待测试失败…但它没有,所以它告诉我我做错了什么。这可能是配置问题,因为我在测试中没有发现任何错误。调用
将page.body
放在
之前,以查看页面上的实际内容。
<h1>Your database has been updated¡¡</h1>
RSpec.configure do |config|

  config.expect_with :rspec do |expectations|
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
  end

  config.mock_with :rspec do |mocks|
    mocks.verify_partial_doubles = true
  end
end