Skip to Content
Java Extreme Programming Cookbook
book

Java Extreme Programming Cookbook

by Eric M. Burke, Brian M. Coyner
March 2003
Intermediate to advanced
288 pages
7h 4m
English
O'Reilly Media, Inc.
Content preview from Java Extreme Programming Cookbook

Generating JUnitPerf Tests

Problem

You want to use JUnitPerfDoclet, which is an XDoclet code generator created specifically for this book, to generate and execute JUnitPerf tests.

Solution

Mark up your JUnit test methods with JUnitPerfDoclet tags and execute the perfdoclet Ant task.

Discussion

As we were writing this book, we came up with the idea to code-generate JUnitPerf tests to show how to extend the XDoclet framework. This recipe uses that code generator, which is aptly named JUnitPerfDoclet, to create JUnitPerf tests. The concept is simple: mark up existing JUnit tests with JUnitPerfDoclet tags and execute an Ant target to generate the code.

Creating a timed test

Here is how to mark up an existing JUnit test method to create a JUnitPerf TimedTest:

                  /**
                  * @junitperf.timedtest maxElapsedTime="2000"
 *                      waitForCompletion="false"
 */
public void testSynchronousSearch(  ) {
        // details left out
}

The @junitperf.timedtest tag tells JUnitPerfDoclet that it should decorate the testSynchronousSearch( ) method with a JUnitPerf TimedTest.

The maxElapsedTime attribute is mandatory and specifies the maximum time the test method is allowed to execute (the time is in milliseconds) or the test fails.

The waitForCompletion attribute is optional and specifies when a failure should occur. If the value is “true”, the total elapsed time is checked after the test method completes. A value of “false” causes the test to fail immediately if the test method exceeds the maximum time allowed.

Creating a load test

Here ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Java Thread Programming

Java Thread Programming

Paul Hyde
Mastering Java 11 - Second Edition

Mastering Java 11 - Second Edition

Dr. Edward Lavieri Jr., Mandar Jog
Distributed Computing in Java 9

Distributed Computing in Java 9

Raja Malleswara Rao Malleswara Rao Pattamsetti
Java 9 Dependency Injection

Java 9 Dependency Injection

Nilang Patel, Krunal Patel

Publisher Resources

ISBN: 0596003870Catalog PageErrata