ruby-on-rails 如何使用rspec配置Sorbet?

gdrx4gfi  于 2023-05-23  发布在  Ruby
关注(0)|答案(1)|浏览(167)

我有一个简单的测试,但describe关键字在冰糕测试中不起作用。
我在这些方法上收到的错误:

Method `describe` does not exist on `T.class_of(<root>)`7003
RSpec.describe(Model) do
  describe 'my test' do
    before(:each) do # .before error
      user = FactoryBot.create(:user)
    end

    it 'can fill in all fields' do # .it errors
    end
  end
end

我想我需要告诉Sorbet一些在spec_helper.rb的上下文中如何调用它,但我不确定如何做到这一点。
我已经安装了这个gem rspec-sorbet并运行

spec/spec_helper.rb
require 'rspec/sorbet'

为了消 debugging 误,我运行了以下命令:

RSpec.describe(Model) do
  T.bind(self, T.untyped)
  # T.bind(self, RSpec) This does not work either
end
jslywgbw

jslywgbw1#

我已经通过绑定RSpec文件成功地实现了一些功能。
首先,我安装了rspec-sorbet gem,它主要帮助双精度和结构检查,其他的就不多了。
然后我手动绑定RSpec测试。这使我能够获得自动完成和冰糕扩展的好处,尽管它并不适用于所有内容。

RSpec.describe(MyModel) do
  T.bind(self, T.untyped)
  # add your tests...
end

相关问题