我试图通过以下代码检查命令的exitstatus。它导致错误--->未定义的方法'expect'
require 'rspec'
require 'rspec/expectations'
at_exit do
\`cat /etc/redhat-release\`
expect($?.exitstatus).to eq(0)
end
任何人都可以帮我解决这个问题
答案 0 :(得分:0)
您的代码假设是基于rspec的测试用例,并且您将它与普通的ruby代码混合使用。
为了使用rspec测试代码,您需要将测试场景和案例包含在describe
和it
块中,然后您才能访问expect
方法,像这样:
# test.rb
require 'rspec'
require 'rspec/expectations'
describe 'Test exit status' do
it "check status" do
`cat /etc/redhat-release`
expect($?.exitstatus).to eq(0)
end
end
并使用rspec命令行运行此代码,例如:rspec test.rb
之前的代码是使用at_exit
块。只有当您退出程序或接收到要被杀死的信号时,才会调用此方法。