Run Sample with junit-3.8.1.jar in Text Mode

Q

How to run sample program with junit-3.8.1.jar in text mode? I have Calculator.java and the JUnit test program, CalculatorTest.java ready.

✍: FYIcenter.com

A

junit-3.8.1.jar is the version 3.8.1 of JUnit JAR library file. It provides two execution modes: text mode and GUI mode.

To run the JUnit test program, CalculatorTest.java in text mode, you need launch the junit.textui.TestRunner class and specify the test program class as the parameter:

\fyicenter>java -version
java version "1.8.0_45"

\fyicenter>java -cp .;\local\lib\junit-3.8.1.jar
   junit.textui.TestRunner CalculatorTest

.E.F.

Time: 0.003

There was 1 error:
1) testSubtraction(CalculatorTest)java.lang.NumberFormatException: 
   For input string: "10-1"
   at sun.misc.FloatingDecimal.readJavaFormatString
      (FloatingDecimal.java:2043)
   at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
   at java.lang.Float.parseFloat(Float.java:451)
   at java.lang.Float.valueOf(Float.java:416)
   at Calculator.evaluate(Calculator.java:6)
   at CalculatorTest.testSubtraction(CalculatorTest.java:16)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke
      (NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke
      (DelegatingMethodAccessorImpl.java:43)

There was 1 failure:
1) testFraction(CalculatorTest)junit.framework.AssertionFailedError: 
   expected:<5> but was:<4>
   at CalculatorTest.testFraction(CalculatorTest.java:12)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke
      (NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke
      (DelegatingMethodAccessorImpl.java:43)

FAILURES!!!
Tests run: 3,  Failures: 1,  Errors: 1

The output shows that:

  • One test passed.
  • One test failed with Java error, because the target program threw a NumberFormatException exception.
  • One test failed with JUnit error: AssertionFailedError, because the actual result did not match the expected result.

Back to FAQ for JUnit (Java Unit) Testing.

2016-03-09, 877👍, 0💬