Redesigned model of
Testis now an interface instead of abstract class.
Casecannot be subclassed. It doesn't have
runmethod anymore. Its static factory method returns
Bodyis now top-level class instead of nested in
Testhas no public fields now. They can be accessed by calling
runIn(executor, test)was split into 2 separate methods
run(concurrent(test))which runs tests using all available processors.
- Fixed interruption propagation in
expect(throwable, test)decorator asserting that exception was thrown from test #40.
- Clarified error message of
helper methods (undocumented)
- Provided method for renaming
- Provided methods for convenient creating successful and failing
- Junit runner no longer promotes single quackery tests into root.
runIn(executor, test)method was removed from
Visitorwas replaced by undocumented
Redesigned integration with junit. Previously any problem with initialization of junit runner would cause
InitializationException that prevented tests to be run. Now reporting of problems is more fine grained. Any problem with methods annotated with
@org.junit.Test is caught during initialization and replaced by adding failing test to root
Suite #44. Junit problems are ignored if there are no methods annotated with
@org.junit.Test #51. Solved minor presentations issues #50, #56. Updated documentation #55.
- introduced native mechanism for running tests #30
- implemented various strategies for running tests #34
- implemented printing test report #33
- added immutable option for collection contracts #27
- added option for forbidding null element to collection contract #28
ReportExceptionas superclass for
- allowed more than one method annotated with
QuackeryRunnerso empty suite does not confuse junit #25
- renamed and moved
- removed mutable option and made it default unless used immutable
- added more tests to collection contract
- checked againts illegal usage of collection contract