如何在 Crystal 中的抽象类上指定实例方法?



假设我有一个抽象类,它有一个非抽象的实例方法供子代继承:

# - abstract.cr
abstract class Abstract
def foo
2
end
end

如何为此编写规范?

# - abstract_spec.cr
it "returns 2 from #foo" do
Abstract.instance.foo.should eq 2 #???
end

可能有更好的方法(因此我发布了这个问题,我很想从社区获得反馈(,但我能想到的一种方法是在测试中让一个类继承来自父级。这样,您就可以抽象地关注类的"任何"实现。

# - abstract_spec.cr
class AbstractTest < Abstract
end
it "returns 2 from #foo" do
AbstractTest.new.foo.should eq 2
end

相关内容

  • 没有找到相关文章

最新更新