Skip to content

@maciejmikosik maciejmikosik released this Apr 25, 2020

Redesigned model of Test, Case and Suite.

Incompatible changes.

  • Test is now an interface instead of abstract class.
  • Case cannot be subclassed. It doesn't have run method anymore. Its static factory method returns Test instead of Case. Body is now top-level class instead of nested in Case.
  • Case, Suite and Test has no public fields now. They can be accessed by calling visit method.
Assets 3

@maciejmikosik maciejmikosik released this Sep 3, 2018

Running

  • Method runIn(executor, test) was split into 2 separate methods run(in(executor, test)) #41
  • Created run(concurrent(test)) which runs tests using all available processors.
  • Fixed interruption propagation in threadScoped runner #58.
  • Implemented expect(throwable, test) decorator asserting that exception was thrown from test #40.

reporting

  • Clarified error message of AssertException.assertEquals #43.

helper methods (undocumented)

  • Provided method for renaming Test #53.
  • Provided methods for convenient creating successful and failing Case.

Junit

  • Junit runner no longer promotes single quackery tests into root.

Incompatible changes.

  • runIn(executor, test) method was removed from Runners.
  • undocumented Visitor was replaced by undocumented TraversingDecorator.
Assets 3

@maciejmikosik maciejmikosik released this Aug 15, 2018

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 @Quackery or @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.

Assets 3

@maciejmikosik maciejmikosik released this Mar 12, 2016

fixes

  • fixed eclipse workarounds
Assets 3

@maciejmikosik maciejmikosik released this Mar 12, 2016

fixes

  • implemented workaround for eclipse bug displaying newline characters #38
Assets 3

@maciejmikosik maciejmikosik released this Dec 1, 2015

improvements

  • created factory method for Case accepting lambda #37
Assets 3

@maciejmikosik maciejmikosik released this Nov 28, 2015

improvements

  • implemented feature allowing QuackeryRunner to run junit tests #36
Assets 3

@maciejmikosik maciejmikosik released this Nov 29, 2015

improvements

  • 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
  • created ReportException as superclass for AssertException and AssumeException

fixes

  • allowed more than one method annotated with @Quackery #32
  • fixed QuackeryRunner so empty suite does not confuse junit #25

incompatible changes

  • moved QuackeryRunner to org.quackery.junit package
  • renamed Suite methods to add, addAll
  • renamed and moved AssertException and AssumeException
  • removed mutable option and made it default unless used immutable
Assets 3

@maciejmikosik maciejmikosik released this Sep 13, 2015

improvements

  • added more tests to collection contract
  • checked againts illegal usage of collection contract

incompatible changes

  • renamed AssertionException.assertThat -> assertTrue
  • quacksLike(List.class) -> quacksLike(Collection.class).implementing(List.class)
Assets 3

@maciejmikosik maciejmikosik released this Apr 6, 2015

improvements

  • defined contract for java.util.List #22
  • implemented withFactory option for collection contracts #23
Assets 3