Skip to Content
Building Maintainable Software, Java Edition
book

Building Maintainable Software, Java Edition

by Joost Visser, Sylvan Rigal, Rob van der Leek, Pascal van Eck, Gijs Wijnholds
January 2016
Intermediate to advanced content levelIntermediate to advanced
168 pages
4h 6m
English
O'Reilly Media, Inc.
Content preview from Building Maintainable Software, Java Edition

Chapter 10. Automate Tests

Keep the bar green to keep the code clean.

The jUnit motto

Guideline:

  • Automate tests for your codebase.

  • Do this by writing automated tests using a test framework.

  • This improves maintainability because automated testing makes development predictable and less risky.

In Chapter 4, we have presented isValid, a method to check whether bank account numbers comply with a checksum. That method contains a small algorithm that implements the checksum. It is easy to make mistakes in a method like this. That is why probably every programmer in the world at some point has written a little, one-off program to test the behavior of such a method, like so:

package eu.sig.training.ch10;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import eu.sig.training.ch04.v1.Accounts;

public class Program {
    public static void main(String[] args) throws IOException {
        BufferedReader isr =
            new BufferedReader(new InputStreamReader(System.in));
        String acct;
        do {
            System.out.println("Type a bank account number on the next line.");
            acct = isr.readLine();
            System.out.println("Bank account number '" + acct + "' is" +
                (Accounts.isValid(acct) ? "" : " not") + " valid.");
        } while (acct != null && acct.length() != 0);
    }
}

This is a Java class with a main method, so it can be run from the command line:

$ java Program Type a bank account number on the next line. 123456789 Bank account number '123456789' is valid. Type a bank account number ...
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.
Start your free trial

You might also like

Java 8 in Action

Java 8 in Action

Mario Fusco, Alan Mycroft, Raoul-Gabriel Urma

Publisher Resources

ISBN: 9781491955987Errata Page