小编Kat*_*ins的帖子

如何从Rails中的ActiveRecord :: Base.connection.execute中捕获错误?

我想运行原始SQL查询,如下所示:

ActiveRecord::Base.connection.execute(some_query);
Run Code Online (Sandbox Code Playgroud)

我可以捕获执行查询时发生的任何错误吗?如果有,怎么样?什么execute回报?它没有在文档中说明.

干杯

ruby activerecord ruby-on-rails

9
推荐指数
1
解决办法
7477
查看次数

Simplecov报道似乎错过了某些行

在对simplecov如何确定一条线是否已经通过测试进行了一些澄清之后.

我有以下方法:

def over?
  end_at < Time.zone.now
end
Run Code Online (Sandbox Code Playgroud)

其中end_at是对象的ActiveRecord属性.

在以下规范中执行了哪些操作:

describe CalendarEntry do
  it 'can determine that an event has ended' do
    @entry.end_at = 1.day.ago
    @entry.over?.should be_true
  end
end
Run Code Online (Sandbox Code Playgroud)

运行带有coverage的规范后,它会显示以下结果:

报道报道

我已经在调试模式下运行测试,并在此行上有一个断点,并确认该规范确实正在触及它.

在此方法中,这不仅仅与此行隔离,包含使用ActiveRecord关联的getter的每一行都显示为未覆盖.可能是巧合,但似乎有点奇怪.

环境:ruby 1.9.3-p327(mri),rails 3.2.8,simplecov 0.7.1,rspec 2.10.0.

关于为什么simplecov认为它没有被涵盖的任何想法?

ruby rspec code-coverage ruby-on-rails

7
推荐指数
1
解决办法
1210
查看次数

标签 统计

ruby ×2

ruby-on-rails ×2

activerecord ×1

code-coverage ×1

rspec ×1