所以我正在尝试测试抽象类。根据我所读的内容,给一个名为Foo
的类,我可以在RSpec中执行以下操作,它不会泄漏到其他测试中。
let(:test) do
Class.new(Foo) do
# Do things here
end
end
但是,当我在另一个位置执行Foo.subclasses
时(根据规范的执行顺序),我仍然发现它仍然泄漏。
我还尝试以正常方式定义该类,并在after块中将其删除,例如
let(:test) do
class Test < Foo; end
Test
end
...
after do
Object.send(:remove_const,:Test)
end
但这似乎也没有用。 Foo.subclasses
似乎仍然包含匿名类。