Skip to content
EasyMock, makes mocking easier since 2001
Java Shell
Branch: master
Clone or download

Latest commit

Latest commit 293bfbe Apr 10, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bench Starting to develop version 4.3-SNAPSHOT Jan 29, 2020
core Upgrade to asm 8.0.1 Apr 5, 2020
test-android Starting to develop version 4.3-SNAPSHOT Jan 29, 2020
test-deploy Upgrade plugins and dependencies. Including pax-exam that was making … Mar 22, 2020
test-integration Upgrade plugins and dependencies. Including pax-exam that was making … Mar 22, 2020
test-java8 Starting to develop version 4.3-SNAPSHOT Jan 29, 2020
test-junit5 Starting to develop version 4.3-SNAPSHOT Jan 29, 2020
test-nodeps Starting to develop version 4.3-SNAPSHOT Jan 29, 2020
test-osgi Upgrade plugins and dependencies. Including pax-exam that was making … Mar 22, 2020
test-testng Starting to develop version 4.3-SNAPSHOT Jan 29, 2020
website Remove disqus Apr 10, 2020
.editorconfig Indent html at 2 Oct 4, 2016
.gitattributes
.gitignore Cleanup .gitignore Dec 20, 2016
.travis.yml Fix JDK version to OpenJDK 8 Oct 16, 2019
CONTRIBUTING.md Add contribution rules Jul 26, 2014
EasyMock-cleanup.xml Set save, formatting and cleanup on all projects Apr 26, 2012
EasyMock-formatter.xml Drop Java 5 (close #192) Sep 8, 2017
README.md Explain how to rollback Jan 29, 2020
ReleaseNotes.md Move to version 4.2 Jan 29, 2020
deploy-easymock.sh Remove the github identifier since it's unused Nov 30, 2018
deploy-website.sh New parameter to keep the actual behavior on new git versions Jan 5, 2015
findbugs-exclude.xml Fix findbugs issues Apr 8, 2018
generate-changelog.sh Remove the github identifier since it's unused Nov 30, 2018
header.txt Use LF everywhere Dec 23, 2016
mail.txt Mail to send to the yahoo group Nov 6, 2014
pom.xml
start-next-version.sh Start version 4.0.2 Nov 30, 2018

README.md

EasyMock

Join the chat at https://gitter.im/easymock/easymock

Download latest version

EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.

You can find the website and user documentation at http://easymock.org.

Developer information

Build status

Build Status Maven Central

Environment setup

I'm using:

  • IntelliJ 2019.3 Ultimate (thanks to JetBrains for the license)
  • Maven 3.6.3

You can also use Eclipse. I tried

  • Eclipse 4.5.0 (Mars)
  • Say yes to all the plugins an m2 connectors to install

To configure your local workspace:

  • Import the Maven parent project to Eclipse or IntelliJ
  • Import the Eclipse formatting file EasyMock-formatter.xml (usable in Eclipse or IntelliJ)

To build EasyMock with Maven

There are three different levels of build.

Build without any active profile

It is a basic compilation of the application.

mvn install

Full build

This build will check code coverage using Jacoco, run spotbugs and validate that the license headers are correctly set.

mvn install -PfullBuild

Deploy build

This is the build to launch to deploy to the surefire repository. It assembles the application and add the gpg checksum. You will usually launch it on top of the full build.

The command line will ask you to give the passphrase for the gpg private key.

mvn install -PdeployBuild

To compile EasyMock in Eclipse

  • Install m2e
  • Import the EasyMock Maven parent project to your Eclipse workspace

To compile EasyMock in IntelliJ

  • Import the EasyMock Maven parent project as an New IntelliJ project

To update the versions

  • mvn versions:set -DnewVersion=X.Y -Pall
  • mvn versions:commit -Pall if everything is ok, mvn versions:revert -Pall otherwise

Configure to deploy to the Bintray maven repository

  • You will first need to add something like this to your settings.xml
<server>
  <id>bintray</id>
  <username>user</username>
  <password>password</password>
</server>
  • Then follow the instructions from the site below to create your key to sign the deployed items

http://www.sonatype.com/people/2010/01/how-to-generate-pgp-signatures-with-maven/

To build the maven site (with spotbugs, checkstyle, jdepends and JavaNCSS reports)

  • You will to give enough memory to maven with export MAVEN_OPTS=-Xmx512m (or setting it as environment variable)
  • Then type mvn site

To check dependencies and plugins versions

mvn versions:display-dependency-updates versions:display-plugin-updates -Pall

To download the sources associated to our dependencies

mvn dependency:resolve -Dclassifier=sources

To update the license

mvn validate license:format -Pall

To run Sonar

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test sonar:sonar

Android

  • Install the Android SDK
  • Configure a device (real or simulated)
  • Add an ANDROID_HOME to target the Android SDK
  • Possibly put these in your path: $ANDROID_HOME/platform-tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/emulator
  • To launch an emulator from command line
    • To list the configured device: emulator -list-avds
    • To launch: emulator -avd Nexus_5X_API_28
  • Activate the debug mode if it's a real device
  • mvn install -Pandroid

To bundle EasyMock and deploy

  • Make sure the poms are on the snapshot of the version you want to deploy
  • Launch and Android emulator or connect an Android phone
  • Make sure jq is installed. If not, try brew install jq or choco install jq
  • If gpg gives an Inappropriate ioctl for device error, enter this in your shell: export GPG_TTY=$(tty)
  • Add a little speech on the features in "ReleaseNotes.md" (remove the Change Log part, which will be regenerated automatically)
  • Set the github_user, github_password, gpg_passphrase, bintray_user, bintray_api_key as environment variables
  • Launch ./deploy-easymock.sh version
  • During the deployment, you will be asked to do different things. Do them
  • Announce to gitter, tweet and blog ;-)

In case of a failure during the build before the deployment, do mvn versions:commit -Pall and start over.

Deploy the website

  • In local:
    • Go to the EasyMock root directory
    • Make sure the website directory is clean
    • ./deploy-website.sh

Start next version

In local:

mvn versions:set -DnewVersion=X.Z-SNAPSHOT -Pall
mvn versions:commit -Pall
You can’t perform that action at this time.