存根和扩展“rspec 样式”类

问题描述 投票:0回答:1

在 Rspec 测试中,我正在创建并扩展“Queryable”类:

  let(:queryable) do
    class Queryable
     include FeatureQuery
    end.new
 end

该类在应用程序中不存在,但 FeatureQuery 模块存在。这段代码运行良好,但感觉丑陋和老套:有没有办法使用 rspec double 来做到这一点?

ruby-on-rails ruby rspec
1个回答
0
投票

我不确定这是否算作“不那么丑陋和老套”,但你可以创建一个匿名类来绕过给这个测试类命名:

let(:queryable) do
  Class.new.include(FeatureQuery).new
end

您可以考虑的其他一些选择是:

  1. 针对应用程序中的真实类编写测试,其中包括
    FeatureQuery
  2. 直接测试
    FeatureQuery
    模块,而不是它包含到的某个类。
© www.soinside.com 2019 - 2024. All rights reserved.