Interview Questions

How To Test Programs Thats Use Java "assert" Statements?

JUnit Questions and Answers


(Continued from previous question...)

How To Test Programs Thats Use Java "assert" Statements?

Since JUnit 3.8, the JUnit runner if fully compatible with the assertion feature. If a Java "assert" statement failed in a JUnit test, the JUnit runner will report that this test fails.

When you design your tests, you should ignore the fact the target class is using "assert" statements. Ingore those "assert" statement and write tests to cover all cases where the target class could break.

Here is a good example of JUnit tests testing the sample program, DayOfWeek.java, presented in the previous question. test3() is designed to test the same area where the Java "assert" statement is located.

import org.junit.*;
// by FYICenter.com

public class DayOfWeekTest {

  @Test public void test1() {
    DayOfWeek d = new DayOfWeek(6);
    Assert.assertTrue("Expecting Saturday", 
      d.getDayOfWeek().equals("Saturday"));
  }

  @Test public void test2() {
    DayOfWeek d = new DayOfWeek(14);
    Assert.assertTrue("Expecting Sunday",
      d.getDayOfWeek().equals("Sunday"));
  }

  @Test public void test3() {
    DayOfWeek d = new DayOfWeek(-2);
    Assert.assertTrue("Expecting Friday",
      d.getDayOfWeek().equals("Friday"));
  }
}

(Continued on next question...)

Other Interview Questions