这里是新手,所以如果问题可能很愚蠢,我先向您道歉。
我已经使用Middleman(ruby)构建了一个静态网页,所有内容都在本地运行,并且rspec测试正在通过。 要进行部署,我必须将所有文件移动到一个目录中并创建一个新的存储库(中间层没有用,并且不允许我进行部署)。 如果现在打开网页,则网站的导航栏不存在,如果运行测试,一切都会中断。 问题可能是什么?
// spec_helper.rb
require 'rspec'
require 'capybara/rspec'
require 'middleman-core'
require 'middleman-core/rack'
require 'middleman-autoprefixer'
require 'middleman-livereload'
middleman_app = ::Middleman::Application.new
Capybara.app = ::Middleman::Rack.new(middleman_app).to_app do
set :root, File.expand_path(File.join(File.dirname(FILE), '..'))
set :environment, :development
set :show_exceptions, false
end
// index_spec.rb
描述“索引”,键入::feature do
it 'displays project list' do
expect(page).to have_css '.projects'
within '.projects' do
expect(page).to have_content 'My First Website in HTML'
expect(page).to have_content 'FizzBuzz'
expect(page).to have_content 'My First Website in React'
expect(page).to have_content 'Address Book'
end
end
it 'displays navbar partial' do
expect(page).to have_css '.topnav'
within '.topnav' do
expect(page).to have_content 'Home'
expect(page).to have_content 'About'
expect(page).to have_content 'Projects'
expect(page).to have_content 'Contact'
end
end
结束
// site.js
function navbar() {
var x = document.getElementById("myTopnav");
if (x.className === "navbar") {
x.className += " responsive";
} else {
x.className = "navbar";
}
}
function scrollToElementWithId(id) {
var name = "";
switch (id) {
case 0:
name = "home"
break;
case 1:
name = "about"
break;
case 2:
name = "projects"
break;
case 3:
name = "curriculum"
break;
case 4:
name = "contact"
break;
default:
scrollToElementWithId(0);
}
document.getElementById(name).scrollIntoView({behavior: "smooth"});
}
错误消息: 失败:
1)索引页显示项目列表 失败/错误:访问“ /”
NoMethodError:
undefined method `visit' for #<RSpec::ExampleGroups::IndexPage:0x00007f9a35aaa880>
# ./spec/feature/index_spec.rb:4:in `block (2 levels) in <top (required)>'
2)索引页显示导航栏部分 失败/错误:访问“ /”
NoMethodError:
undefined method `visit' for #<RSpec::ExampleGroups::IndexPage:0x00007f9a35aa8f08>
# ./spec/feature/index_spec.rb:15:in `block (2 levels) in <top (required)>'
在0.0034秒内完成(加载文件需要0.10427秒) 2个例子,2个失败
失败的示例:
rspec ./spec/feature/index_spec.rb:3#索引页显示项目列表 rspec ./spec/feature/index_spec.rb:14#索引页显示导航栏局部