Skip to content

Releases: easymock/easymock

4.0

27 Oct 05:13
Compare
Choose a tag to compare
4.0

This release adds support for Java 11 and moves to Java 8.

EasyMock inference has been changed. It should be backward compatible in most cases. However,
a type witness might be necessary.

To be clear, starting now List<String> list = mock(List.class); will compile perfectly without
any warning. However, String s = mock(List.class); will also compile. But I'm expecting you
not to be crazy enough to do such thing. It will do a ClassCastException at runtime anyway.

However, you might see your code failing to infer the return type, in that case, use a type
witness e.g. foo(EasyMock.<List<String>>mock(List.class) and it will some the problem nicely,
and again, without a warning.

Release notes

  • Add Java 11 support
  • Drop Java 6 and 7 support. Support now starts at Java 8
  • Decorrelate mock requested and returned type

Change log

  • Remove most long time deprecated methods (#231)
  • Relax typing for the mocking result (#229)
  • Upgrade Objenesis to 3.0.1 (#228)
  • Update cglib to 3.2.8 and asm to 6.2.1 (#225)
  • Java 11 Compatibility check: EasyMock (#224)
  • easymock 3.6 can't work with JDK11 EA kit (#218)
  • update testng to 6.14.3 (#216)

3.6

09 Apr 03:29
Compare
Choose a tag to compare
3.6

This release adds support for Java 9 and Java 10 and fixes an issue for interface default methods.

Release notes

  • Java 10 support through an update of ASM and cglib
  • Add Java 9 automodule
  • Allow mocking interface default methods on a partial mock

Change log

  • Add Java 9 automodule (#212)
  • Update asm, cglib and surefire for Java 10 support (#211)
  • Mocking interface default methods (#203)

3.5.1

16 Nov 05:14
Compare
Choose a tag to compare

This is a bug fix release of 3.5. It mainly fix dependency issues (ant in the classpath) caused by the latest
cglib release.

Release notes

  • Remove ant from the classpath
  • Put TestNG and JUnit in provided
  • Pull ASM 6 out of beta

Change log

  • Easymock 3.5 is aliasing other packages on the classpath (#207)
  • Ant dependency is incorrectly packaged into easymock:jar:3.5 (#205)

easymock-3.5

13 Sep 03:27
Compare
Choose a tag to compare

Here is the long awaited 3.5 version. It contains many bug fixes and some improvement. We allowed ourselves to possibly break
the compatibility with older versions for the greater good. So please read these notes thoroughly.

Release notes

  • Java 5 is no longer supported. I dearly hope this won't harm anyone
  • Java 9 is supported
  • TestNG support is added. Have a look at EasyMockListener
  • Class Mocking now works correctly for cross bundle mocking
  • verify() now checks for unexpected calls in case an AssertionError was swallowed during the test. It is in general
    what you want but you can use verifyRecording() to bring back the old behavior
  • Default matcher for an array argument is now aryEq instead of eq. This should as well make sense for everyone and should
    allow you to remove tons of aryEq all over your code. If you don't like it, you can specify eq explicitly for the array
    argument

Change log

  • isNull and notNull with generic class parameter (#93)
  • Return a meaningful error when null on a primitive (#92)
  • Create opportunity to disable SingleThread checks (#88)
  • slightly more intuitive error message (#80)
  • Enhancement for andAnswer / andStubAnswer (#79)
  • Make easymock and easymock-ce OSGi-ready (#78)
  • Enable Multiple Captures (#77)
  • Improve multithreading error report in MocksBehavior (#73)
  • Stack trace clobbered when exception thrown by IAnswer impl (#34)
  • Possible bug with captures() (#30)
  • Actual value in byte array failure is not helpful (#29)
  • Regression caused by new threadsafe API and defaults (#27)
  • Capturing parameters from single argument methods (#24)
  • NPE with varargs in record state (#22)
  • capture(Capture) only captures last method call (#21)

easymock-3.4

07 Sep 01:57
Compare
Choose a tag to compare

This version has finally removed the old (and ugly) partial mocking methods. You are now required to use the partialMockBuilder. In exchange, you get really nice short methods to create your mocks: mock, niceMock and strictMock.

You also get a better stability since cglib and ASM are now embedded to remove a possible version mismatch with your own dependencies. Note that Objenesis will stay as an explicit dependency.

Change log

  • #163 Incomplete sentence in documentation [bug][website]
  • #160 EasyMock should not depend on ASM but inline the code [enhancement][major]
  • #159 Remove partial mocking deprecated methods [enhancement][major]
  • #158 Shorter mock methods [core][enhancement][major]
  • #155 Disable jar indexing [enhancement][minor]
  • #11 User guide refers to methods not in latest release [website]

easymock-3.3.1

11 Jun 00:52
Compare
Choose a tag to compare

Release Notes - EasyMock - Version 3.3.1

This version is mainly a maintenance release to support Java 8 correctly.

  • Bug
    • [EASYMOCK-140] - Class mocking can't handle Java 8 class files
    • [EASYMOCK-143] - OSGi should work on the latest cglib and asm version

easymock-3.3

11 Jun 00:51
Compare
Choose a tag to compare

Release Notes - EasyMock - Version 3.3

  • Bug
    • [EASYMOCK-132] - EasyMockTestRunner injects mocks after the @before being called
    • [EASYMOCK-137] - EasyMockRule not available in 3.2.jar and not mentioned in the docs for 3.2 but still used in the examples for 3.2
    • [EASYMOCK-138] - Capturing primitive type throws NullPointerException
  • Improvement
    • [EASYMOCK-127] - Migrate to Objenesis 2.0
    • [EASYMOCK-129] - Can not work with cobertura under JDK 7 environment
    • [EASYMOCK-130] - Upgrade Objenesis to 2.1
    • [EASYMOCK-131] - Remove class extension
    • [EASYMOCK-133] - Add support for running with Robolectric
    • [EASYMOCK-135] - Add andVoid to allow chained call to void methods
    • [EASYMOCK-136] - Upgrade to cglib 3.1
    • [EASYMOCK-139] - Add a factory method to the Capture class

easymock-3.2

11 Jun 00:51
Compare
Choose a tag to compare

Release Notes - EasyMock - Version 3.2

This release contains two important features:

  • A support for Android. EasyMock now works on Dalvik
  • New @mock and @Testsubject annotations

And the complete release notes:

  • Bug
    • [EASYMOCK-101] - EasyMock not compiling with JDK 7 or Eclipse Helios or later (phase 2)
    • [EASYMOCK-106] - EasyMockProperties use of System properties isn't thread safe
    • [EASYMOCK-110] - bridged equals(Object) method causes StackOverflow
    • [EASYMOCK-117] - Exception mocks have a different behavior between Java 6 and 7
    • [EASYMOCK-121] - Upgrade to Objenesis 1.3
    • [EASYMOCK-124] - Website text gets badly truncate on certain screens
  • Improvement
    • [EASYMOCK-107] - Remove the possibility to override easymock.properties with system properties
    • [EASYMOCK-108] - Android support
    • [EASYMOCK-115] - Improvement to org.easymock.Capture.java
  • New Feature
    • [EASYMOCK-24] - Provide mockType to createMock() method
    • [EASYMOCK-51] - @mock annotation to provide mock autowiring
    • [EASYMOCK-112] - anyString() in EasyMock desired
  • Task
    • [EASYMOCK-122] - Move source code to GitHub

easymock-3.1

11 Jun 00:49
Compare
Choose a tag to compare

Release Notes - EasyMock - Version 3.1

This release is mainly a bug fix release. It solves a series of long standing issues.

It is fully compatible with version 3.0 but capture methods of primitive types were deprecated
and renamed to solve compilation issues. The deprecated methods will be removed from the next
EasyMock version.

  • Bug
    • [EASYMOCK-21] - finalize() should be treated specially
    • [EASYMOCK-39] - Bridge methods are always mocked, regardless of partial mock
    • [EASYMOCK-40] - Can't replay a mock on interface without cglib
    • [EASYMOCK-43] - Update maven-javadoc-plugin to 2.7 (Maven build broken)
    • [EASYMOCK-47] - samples.zip file is missing
    • [EASYMOCK-89] - Memory leaks in EasyMock
    • [EASYMOCK-90] - Partial mocking: Difficulties with covariant return types
    • [EASYMOCK-100] - EasyMock not compiling with JDK 7 or Eclipse Helios or later
  • Improvement
    • [EASYMOCK-44] - MockBuilder.addMockedMethod should fail for final methods
  • New Feature
    • [EASYMOCK-88] - Make sure versions of EasyMock are compatible with Powermock
    • [EASYMOCK-104] - Expectation failure
  • Task
    • [EASYMOCK-1] - Migrate build to Maven 3

easymock-3.0

11 Jun 00:48
Compare
Choose a tag to compare

Notes

EasyMock is now able to merge classes by itself.
Deprecated code from EasyMock 1 was removed.

If you don't perform class mocking, you can remove cglib and objenesis from your dependencies.

Migrating to EasyMock 3 should be painless. A deprecated class extension jar is available. So everything should
work like before. To get rid of the class extension, just remove the ".classextension" part in all your imports.

This new code base should allow quicker developments.

Changes

  • Merge EasyMock and EasyMock Class Extension (2325762)
  • Add "boolean capture(...)" for completude (but I don't think it's useful)
  • Can't answer by delegating to a protected method (2891256)
  • Failure during recording phase can impact following tests (2914683)
  • Return a specific error when null is recorded as return value on a method returning a primitive type (2936175)
  • Can disable class mocking with EasyMock.DISABLE_CLASS_MOCKING
  • Remove deprecated classes from EasyMock 1
  • Should not fail on a mock not having a toString method (2937916)
  • Improved error message when matchers are mixed with raw params during method recording (2860190)
  • Check there are still results available in a recorded behaviour before trying to match with it (2940400)
  • Allow to mock classes from an Eclipse plugin (2994002)
  • Add isNull(Class), notNull(Class) and anyObject(Class) for easier generic handling (2958636)