gpt4 book ai didi

ruby-on-rails - 规范导致 Ruby 崩溃

转载 作者:行者123 更新时间:2023-12-03 16:55:20 25 4
gpt4 key购买 nike

所以我正在测试我的 Rails 模型之一,但系统的 Ruby 一直在崩溃?以前在 Growl 中发生过这种情况,但在 System 的 ruby​​ 中从未发生过。我已经重新启动,它仍在发生。我正在使用 Ruby-1.9.3-p194 ruby-1.9.3-p0 发生同样的崩溃.我的规范似乎无害,我不知道为什么会这样。

规范:

对缩进感到抱歉。

需要'spec_helper'

describe "Admin pages" do
subject { page}

describe "when not signed in" do
before { visit admin_path }
it { should have_selector('title', text: 'Sign in') }
end

describe "when signed in as an admin" do
before do
sign_in
visit admin_path
end

describe "Admin navigation menu" do
it { should have_css('.nav-header', text: 'Content') }
it { should have_link('Dashboard', href: admin_path) }
it { should have_link('News', href: admin_posts_path) }
it { should have_link('Events', href: admin_events_path) }
it { should have_link('Photos', href: admin_photos_path) }
it { should have_css('.nav-header', text: 'Your Account') }
it { should have_link('Settings', href: admin_settings_path) }
it { should have_link('Help', href: admin_help_path) }

describe "should be on every admin page" do
after { should have_admin_navigation }
it { visit admin_path }
it { visit admin_posts_path }
it { visit admin_photos_path }
it { visit admin_settings_path }
end


describe "should not be on any other pages" do
before { visit root_path }
it { should_not have_css('#admin-navigation') }
end

end

describe "Dashboard (index) page" do
before { visit admin_path }
it { should have_selector('h3', text: 'Dashboard') }
it { should have_selector('title', text: full_title('Admin Dashboard')) }
end

describe "Posts page" do
before { visit admin_posts_path }
it { should have_selector('h3', text: 'Posts') }
it { should have_selector('table') }
it { should have_selector('th', text: 'Title') }
it { should have_selector('th', text: 'Content') }
it { should have_selector('th', text: 'Published On') }
end

describe "Events page" do
before { visit admin_events_path }
it { should have_selector('h3', text: 'Events') }
it { should have_selector('input') }
end

end
end

The System Crash Report作为保留格式的要点。

编辑 : 我通过评论缩小了范围,错误与 @second_page 有关的工厂。

最佳答案

我有一个调试工具可以帮助解决这个问题。它使用 ruby​​ 的跟踪来记录所有方法调用。最后一个应该是崩溃前执行的最后一个调用。也许尝试运行它以查看崩溃前的最后一个方法调用是什么,看看它是否一致?仅供引用,此实现会大大降低应用程序的速度,但在紧要关头可以为您提供很好的信息。

https://github.com/ericbeland/debugtools/blob/master/tracing.rb

一旦你知道了方法调用,你就会知道谁/什么负责。

------- 已按说明编辑 -----------

下载链接文件(或将其粘贴到空白文件中)。在您的应用程序中,需要该文件。然后在 application.rb 中执行以下操作:

 include Tracing

class Object
include Tracing
end

在你的代码中找到一个尽可能晚的地方——你从未见过它崩溃的最后一点。因此,根据您的新编辑,就在测试开始时。此时,粘贴以下语句:
 tracing_on('/tmp/tracelog.txt')

这将开始记录。让事情继续进行,直到发生崩溃。此时,查看/tmp/tracelog.txt 以了解它在哪里死亡。

关于ruby-on-rails - 规范导致 Ruby 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11747414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com