Testing Tips for Java Developers


Mockito

doReturn|Answer|Throw()

reset

  • after reset
Mock chained calls
Do different things when call multiple times
Invalid use of argument matchers!
  • When using matchers, all arguments have to be provided by matchers.
UnfinishedVerificationException: Missing method call for verify(mock)
  • in verify, use any() for primitive arguments
Testing Servlet

Hamcrest

[TestNG]

Spring + JUnit

Using REST Assured to test http APIs

randomizedtesting


Eclipse

Plugins

  • MoreUnit
    • Ctrl+U: create test method
    • Ctrl+J: jump to test method

Add Static Import Automatically

  • To help write test cases easier, when we type “assertT” and hit Ctrl+Space, we want Eclipse to add static import automatically for us: import static org.hamcrest.MatcherAssert.assertThat;
  • Go to Window > Preferences > Java > Editor > Content Assist > Favorites, then add:

Run Tests across Multiple Projects

Create a maven project depending on all the projects you want to test.
Create Test code:

Maven

  • Run specific method: mvn test -Dtest=className#methodName

Misc

Labels

adsense (5) Algorithm (69) Algorithm Series (35) Android (7) ANT (6) bat (8) Big Data (7) Blogger (14) Bugs (6) Cache (5) Chrome (19) Code Example (29) Code Quality (7) Coding Skills (5) Database (7) Debug (16) Design (5) Dev Tips (63) Eclipse (32) Git (5) Google (33) Guava (7) How to (9) Http Client (8) IDE (7) Interview (88) J2EE (13) J2SE (49) Java (186) JavaScript (27) JSON (7) Learning code (9) Lesson Learned (6) Linux (26) Lucene-Solr (112) Mac (10) Maven (8) Network (9) Nutch2 (18) Performance (9) PowerShell (11) Problem Solving (11) Programmer Skills (6) regex (5) Scala (6) Security (9) Soft Skills (38) Spring (22) System Design (11) Testing (7) Text Mining (14) Tips (17) Tools (24) Troubleshooting (29) UIMA (9) Web Development (19) Windows (21) xml (5)