Yes, when you include modules, they are injected into inheritance chain
Test.ancestors # => [Test, Addon, Base, Object, Kernel, BasicObject]
Addon module, when included, redefines existing setup method from Base. If you want Base‘s version be called, use super.