Junit Iv Tutorial - Attempt Out Exception Thrown Yesteryear Coffee Method Amongst Example

One role of unit of measurement testing a Java method is checking exception thrown past times that method. Influenza A virus subtype H5N1 Java unit of measurement attempt should verify right exception thrown inwards special instance together with no exception should hold out thrown inwards normal case. In JUnit 3.XX, at that topographic point was no straight back upward to move past times or neglect a attempt based upon exception thrown past times a Java method. JUnit4 address this number together with provides an easy, together with readable way to test exception thrown past times a Java method. There are many situations when y'all bespeak to  test exception thrown past times whatever method inwards Java. Classical instance of this is testing API methods which should throw IllegalArgumentException if arguments passed to method are non matching to pre-conditions. In gild to attempt exception thrown past times whatever method inwards JUnit iv y'all bespeak to usage @Test(expected=IllegalArgumentException.class) annotation. You tin supervene upon IllegalArgumentException.class amongst whatever other exception e.g. NullPointerException.class or ArithmeticException.class etc.


Bottom trouble is that JUnit 4 will execute that attempt together with depository fiscal establishment check if method genuinely throws expected exception or not. If method throws expected exception, specified every bit "expected", than JUnit iv volition move past times that test, but if method throws whatever other exception, or doesn't throw whatever exception than JUnit4 volition neglect that detail test.



Unit attempt to depository fiscal establishment check Excpetion thrown past times Java method – JUnit iv Example

One role of unit of measurement testing a Java method is checking exception thrown past times that method JUnit iv Tutorial - Test Exception thrown past times Java Method amongst Example
In gild to attempt whatever Java method for throwing excpetion inwards JUnit4,  You bespeak to ensure that declaration provided to that method, from the attempt must result inwards expected Exception, Other wise JUnit attempt volition fail. Here is an instance of how to attempt exception thrown inwards JUnit iv past times testing a method called speed(), which returns speed every bit distance/time, but earlier calculating speed it checkes wheter fourth dimension together with distance is positive or not, together with if fourth dimension is nothing or negtaive it throws IllegalArgumentException. Let’s write a JUnit test to test this method for exception, simply retrieve that nosotros bespeak to move past times argument, which lawsuit inwards IllegalArgumentException.

here is the exmple of origin class:

public class SpeedUtils {
    
    public int speed (int distance, int time){
        if(distance < 0 || fourth dimension <= 0){
            throw new IllegalArgumentException("distance: " + distance
                                                + " time: " + time);
        }      
        return distance/time;
    }
}

and hither is the instance of JUnit iv attempt instance for Exception testing, y'all tin encounter that our testSpeed() method is annotated amongst @Test(expected=IllegalArgumentException.class), which agency it hold back an illegalArgumentException, when y'all run this JUnit test.

public class JUnitExceptionTest {
  
    /**
     * Test of speed method, of shape JUnit4ExceptionTest.
     */
    @Test(expected=IllegalArgumentException.class)
    public void testSpeed() {
        System.out.println("speed");
        int distance = 0;
        int fourth dimension = 0;
        JUnit4ExceptionTest instance = new JUnit4ExceptionTest();
        int expResult = 0;
        int lawsuit = instance.speed(distance, time); //shold throw exception
        assertEquals(expResult, result);     
    }
}

Test volition hold out move past times amongst electrical current arguments, but if y'all alter arguments attempt volition hold out failed similar below, because it won’t larn IllegalArgumentException whatever more.

Testcase: testSpeed(test.JUnit4ExceptionTest):  FAILED
Expected exception: java.lang.IllegalArgumentException
junit.framework.AssertionFailedError: Expected exception: java.lang.IllegalArgumentExcepti

That's all on how to attempt exception inwards JUnit4. It’s extremely slow to attempt Java method amongst JUnit4’s musical note based approach. Now y'all tin easily verify whatever Java method for both right together with wrong laid upward of inputs, along amongst exceptions for normal together with special cases. If y'all are writing a populace API, which is intented to hold out used past times other, y'all must furnish unit of measurement attempt for checking exception thrown past times a method, it’s imperative for whatever populace API author.

Further Learning
JUnit Best Practices for Java Programmer

0 Response to "Junit Iv Tutorial - Attempt Out Exception Thrown Yesteryear Coffee Method Amongst Example"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel