simplecov类测试示例

时间:2016-09-27 03:35:26

标签: ruby-on-rails rspec simplecov

我需要为此课程实现100%的代码覆盖率。

我如何在simplecov中测试以下类?

如何在rspec中测试save_user方法?

expandedSelRange.setEndAfter(lastNode);
sel.removeAllRanges();
sel.addRange(expandedSelRange);

1 个答案:

答案 0 :(得分:0)

有几个问题正在发生:

has_one :user
belongs_to :user

将'has_one'和'belongs_to'关系引用到同一模型是不寻常的。通常你只需要一个或另一个。 (例如,如果Log具有user_id字段,那么您只需要belongs_to而不是has_one

self.user_id = :current_user

如果您尝试调用方法而不是存储符号,则可能需要current_user而不是:current_user

为了测试after_save实际运行,我建议使用以下内容:

log = Log.new
expect(log).to receive(:after_save).and_call_original
log.save
expect(log.user).to eq(current_user)

在新实例上调用save将触发after_create运行,然后您可以验证结果并检查它是否正确运行。