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 ...
Get Building Maintainable Software, Java Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.