typoを含んだコードが動いてるとかテストどうなってんの?という話は置いておくとして。
準備
config/initializers/airbrake.rb
# コメントアウト
# c.ignore_environments = %w(development test)
通知されるパターン
class Foo
def self.test
raise 'bar'
puts 'hello'
end
$ ./bin/rails r "Foo.test"
/path/to/app/models/foo.rb:3:in `test': bar (RuntimeError)
通知されないパターン
class Foo
def self.test
bar
puts 'hello'
end
$ ./bin/rails r "Foo.test"
Please specify a valid ruby command or the path of a script to run.
Run 'bin/rails runner -h' for help.
どうやら、typo(NameError)の時はrunner側で何かしらされてるっぽい。
https://github.com/rails/rails/blob/master/railties/lib/rails/commands/runner/runner_command.rb#L34
rescue SyntaxError, NameError => error
resuceされてた。疑問解決。