首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 7和Zeitwerk没有在测试中加载

Rails 7和Zeitwerk没有在测试中加载
EN

Stack Overflow用户
提问于 2022-01-10 03:22:22
回答 1查看 304关注 0票数 3

我的Rails 7,Ruby3.1App有一个简单的测试失败了。我不明白为什么。

在我的应用程序中,我添加了一个支持目录,标签为stuff,其中包含一些GraphQL代码。所以在我的测试中,我想做一个GraphQL.test(foo:"me",bar:"you")。

代码语言:javascript
复制
app/stuff/graphql.rb

在我的inflections.rb初始化器中,我教我想要的拐点。

代码语言:javascript
复制
ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.acronym 'GraphQL'
end

在我的application.rb中,我告诉Zeitwerk我有东西要处理,而rake任务zeitwerk:check说一切都很好。

graphql.rb有一个简单的测试功能:

代码语言:javascript
复制
module GraphQL
  def self.test(foo:, bar:)
    puts "We got a #{foo} and a #{bar}"
  end
end

但是我的测试会运行,当测试这段代码时,测试会在没有测试方法的GraphQL上失败。

我对自动加载和急切的加载感到困惑,以及为什么我的测试似乎无法遵循这里的简单设置。

EN

回答 1

Stack Overflow用户

发布于 2022-01-10 14:52:20

这似乎是由于Zeitwerk的命名空间问题。在我的测试中,我有一个需求,它在不同的对象(即GraphQL )上引入了相同的名称空间。因此,在测试中,找不到命名的方法,因为返回的对象在错误的名称空间中。我删除了需求,测试按预期完成,没有错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70647450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档