ruby-on-rails - 每个循环使用 Rspec 的单元测试用例

标签 ruby-on-rails rspec

我的模型中有以下方法

def get_performance_data para, child_para_hash
  performance_graph_data = {}
  child_para_hash.each do |cp|
    performance_graph_data[cp] =  fetch_per_child_para_data(para, cp)
  end
  performance_graph_data  
end


def fetch_per_child_para_data para, child_para
  test_performances.where(network_data_condition(para, child_para)).select("AVG(value)avg_value, activity").group('act_num')
end

我在理解如何为模型方法中的每个循环编写测试用例时遇到问题。

最佳答案

好的测试是关于验证方法的行为,而不是其内部工作原理。因此,根据发布的示例,您的测试应该检查 #get_performance_data 是否返回由您的装置定义的 performance_graph_data 的正确值,而不是检查内部循环实现。

如果您的测试在概念上不是说“给定输入 X,我的结果应该始终是 Y”,那么您可能正在测试错误的东西。与往常一样,这条规则也有异常(exception),但如果没有充分的理由,我不会违反这条规则。

关于ruby-on-rails - 每个循环使用 Rspec 的单元测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10614794/

相关文章:

ruby - 将 RSpec 用于 iPhone Controller

javascript - ruby rails : Get json from controller in Javascript file

ruby-on-rails - Rails 中的电子邮件确认,无需使用任何现有的身份验证 gem/插件

ruby-on-rails - 为什么要坚持?没有察觉到数据库的变化?在 rails 上

ruby - Rspec:电子邮件正文中的 click_link

ruby - 在 ruby​​ 中测试线程代码

ruby-on-rails - 具有相同命名空间的两个 gem

ruby-on-rails - 有很多通过删除链接的Rails

ruby-on-rails - 在 Rails 5 中运行迁移后,外键未正确更新

ruby-on-rails - 由于错误的默认语言环境,我的 Rails 应用程序规范随机失败