我有以下代码:
class Blurk
def initialize
# horror
end
def perform
# yet more horror
end
end
class Grunf < Blurk
def perform
super
# here some code to test
end
end
我想测试Grunf#perform
上的代码,但我无法弄清楚如何模仿Blurk
。
答案 0 :(得分:3)
一般来说,你不应该这样做。更好的方法是(恕我直言)对您的类定义进行细微更改
class Blurk
def initialize
# horror
end
def perform
# yet more horror
exec_perform
end
protected
def exec_perform
raise "exec_perform must be overriden"
end
end
class Grunf < Blurk
def exec_perform
# here some code to test
end
end
并分别测试Blurk和Grunf(在Blurk测试中,您可以创建TestClass定义以确认exec_perform按预期运行)。在Grunf的测试文件中,您只需测试exec_perform
方法。