Skip to Content
JUnit Pocket Guide
book

JUnit Pocket Guide

by Kent Beck
September 2004
Intermediate to advanced
90 pages
1h 52m
English
O'Reilly Media, Inc.
Content preview from JUnit Pocket Guide

Chapter 1. JUnit Pocket Guide

Automating Tests

Nearly every programmer tests his code. Testing with JUnit isn’t a totally different activity from what you’re doing right now. It’s a different way of doing what you’re already doing. The difference is between testing, that is checking that your program behaves as expected, and having a battery of tests, little programs that automatically check to ensure that your program behaves as expected. In this chapter we’ll go from typical println( ) -based testing code to a fully automated test.

Let’s begin writing our first automated test. Imagine that we have been asked to test Java’s built-in ArrayList. One bit of functionality to test is the method length ( ). When we create a new list it should have a length of 0. After we add an element the length should be 1. Imagine a little code snippet to test this:

List fixture= new ArrayList(  );
// fixture should be empty
Object element= new Object(  );
fixture.add(element);
// fixture should have one element

Tip

How do you pick good data values for tests? My habit is to pick a few representative values and to choose values that result in easy-to-check results. If I’m testing a currency converter, for example, an exchange rate of 2:1 is just as valuable as a programming tool as a “realistic” rate of 1.32471:1. For collections, like the one here, no elements and one element may be sufficient. Use induction to simplify testing. If “zero and one element work” implies “any number of elements work,” use zero ...

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

JUnit Recipes

JUnit Recipes

J.B. Rainsberger, Scott Stirling
Mockito Essentials

Mockito Essentials

Sujoy Acharya

Publisher Resources

ISBN: 9781449377212Errata Page