【发布时间】:2022-01-24 09:26:19
【问题描述】:
对于博客,我放置了一个内联标签,用于从指定网页中提取标题信息。它可以工作,但我需要添加缓存,这样我就不会进行多余的网络调用。
我想要一个比重新启动服务器并等待重建更紧凑的调试周期,但运行插件作为 Ruby 代码报告 uninitialized constant Liquid (NameError)。这是有道理的,因为它不是required,并且不会运行,因为插件只是一个类定义。
所以,我尝试创建一些脚手架来运行代码,或者无论如何我认为应该是脚手架。
require 'liquid'
require_relative '../_plugins/header.rb'
ht = HeaderInlineTag.new
ht.initialize 'header', 'some path'
puts ht.render()
这会产生...
_test/header.rb:4:in `<main>': private method `new' called for HeaderInlineTag:Class (NoMethodError)
考虑到可能会运行initialize() 来创建对象,我合并了前两行代码,但这也不起作用。相同的错误,不同的函数名称。该插件不会将任何东西标记为private,并且声明方法public 不会改变任何东西。
在不携带整个博客的情况下测试插件还需要什么?
【问题讨论】:
标签: ruby testing jekyll jekyll-extensions