Thanks to a full cast of contributors of bug fixes and new features.
A full summary of commits between 4.9 and 4.10 is on github
junit-dep-4.9.jar incorrectly contained hamcrest classes, which could lead to version conflicts in projects that depend on hamcrest directly. This is fixed in 4.10 [@dsaff, closing gh-309]
The RuleChain rule allows ordering of TestRules:
public static class UseRuleChain { @Rule public TestRule chain= RuleChain .outerRule(new LoggingRule("outer rule") .around(new LoggingRule("middle rule") .around(new LoggingRule("inner rule"); @Test public void example() { assertTrue(true); } }
writes the log
starting outer rule starting middle rule starting inner rule finished inner rule finished middle rule finished outer rule
TemporaryFolder#newFolder(String... folderNames)
creates recursively deep temporary folders [@rodolfoliviero, closing gh-283]TemporaryFolder#newFile()
creates a randomly named new file, and #newFolder()
creates a randomly named new folder [@Daniel Rothmaler, closing gh-299]The Theories
runner does not anticipate theory parameters that have generic types, as reported by github#64. Fixing this won't happen until Theories
is moved to junit-contrib. In anticipation of this, 4.9.1 adds some of the necessary machinery to the runner classes, and deprecates a method that only the Theories
runner uses, FrameworkMethod
#producesType(). The Common Public License that JUnit is released under is now included in the source repository.
Thanks to @pholser
for identifying a potential resolution for github#64 and initiating work on it.
@Category
annotations [@dsaff, fixing gh-291]ErrorCollector.checkThat
overload, that allows you to specify a reason [@drothmaler, closing gh-300]