我有自己的宝石,我的栏杆看起来像..。
class MyRailtie < Rails::Railtie
initializer "my_railtie.configure_rails_initialization" do
# some initialization behavior
end
end我正在试着测试它,但在测试中,初始化器从未被调用过。我注意到我在另一个get中有一些依赖项,这些get也有一个初始化器,它们也没有被调用。
你知道除了索取文件我还应该做什么吗?
发布于 2015-07-27 07:02:46
由于初始化器是Rails功能的一部分,因此您需要将Railtie加载到Rails应用程序中,以便自动调用它。这通常是通过在您的spec文件夹中构建一个小的Rails应用程序来完成的,但手动设置起来很痛苦。幸运的是,有一个名为combustion的优秀gem,它使测试引擎(或带有铁路的gem)变得轻而易举。它将负责为您设置Rails应用程序,并确保您测试在该Rails环境中运行(包括运行该初始化器)。
发布于 2018-04-25 02:19:55
在测试的before或setup块中,您可以这样做:
对于铁路公司来说
MyRailtie::Railtie.initializers.each(&:run)对于一个引擎
MyEngine::Engine.initializers.each(&:run)https://stackoverflow.com/questions/31641882
复制相似问题