Currently the DSL collects tests into a tree hierarchy of suite -> case -> unit, and eventually may become suite -> case -> unit -> test (see layer issue). A more elegant solution may be to have a flat list, such that each test object has everything it needs to run on it's own, and a group field to track how it's is group together with other tests. I think this would greatly simplify the underlying code base.
The test object would be constructed something like:
Test.new(
:module =>
:method =>
:singleton =>
:description =>
:setup =>
:teardown =>
:groups => [ ... ],
&procedure
)
Currently the DSL collects tests into a tree hierarchy of
suite -> case -> unit, and eventually may becomesuite -> case -> unit -> test(see layer issue). A more elegant solution may be to have a flat list, such that each test object has everything it needs to run on it's own, and agroupfield to track how it's is group together with other tests. I think this would greatly simplify the underlying code base.The test object would be constructed something like: