Senin, 30 Juni 2014

Steps to Create JUnit Test in Eclipse and Netbeans IDE




Writing Junit tests for Java classes in Eclipse and Netbeans IDE are
super easy, and I will show you with that later in this JUnit tutorial. Before
that, let’s revise what is unit test and why should you write them. Unit test is
to test smaller unit of code, e.g. methods. 
Writing unit test to test individual unit of code is one of the best
development practice and helps to find bug earlier in development cycle. Though
there are other unit testing framework available in Java e.g.
TestNG, JUnit has it’s
own place among Java developers. IMHO code review and unit testing are
two most important practices for improving code quality and should always be
followed during software development. Sad thing is that not every developer
follows it; some programmer don’t write unit test due to ignorance and others
due to laziness. Any way, it’s just start which take time, once you start
writing unit tests, you will automatically start enjoying it. I have seen Java
developers testing there code with main() method, but now they prefer
to test them with
JUnit testcases. I agree few initial tests are difficult
because of knowledge and inertia and best way to approach is to start with
simplest of JUnit tests. In this JUnit tutorial, I will show you how to write and execute JUnit test from
Eclipse and Netbeans
, two popular Java IDE. By the way, if you are looking for any good book on JUnit and unit testing, you should look Pragmatic Unit Testing in Java with JUnit, it's an amazing book and teaches a lot about both JUnit and unit testing in Java.






JUnit 3 and JUnit 4 testing framework



JUnit frameworks is popular from quite a sometime now and there are two popular
versions available in form of
JUnit 3.8, known as JUnit
3
and  JUnit
4
. Working of both versions are same, as you create testcases, testsuite
and execute them. Main difference between JUnit 4 and JUnit 3 is that,
JUnit4 is based
on annotation feature of Java 1.5  and
easy to write, while
JUnit 3 uses “test” keyword,
to identify test methods. What is bonus in terms of writing
JUnit tests for
Java program is that, two of most popular Java IDE, Eclipse and Netbeans has inbuilt support and
provides easy interface and infrastructure to create and execute JUnit tests
for Java classes. In this JUnit 4 tutorial, we will see step by step guide for writing
JUnit test in Eclipse and Netbeans
with simple example of
Calculator. Our Calculator class has
methods
add() and multiply() for addition
and multiplication, I have used variable arguments of Java 1.5 to implement these
methods, so that they can accept any number of parameter.





How to write JUnit tests in Eclipse



1. Create a New Java Project called JUnitExample.


2. Create a Java class Calculator in project
which should have
add() and multiply() method.


3. Right click on Java class and click on create Junit
testcase





How to write JUnit test case in Eclipse JAvaHow to execute JUnit tests in Eclipse



How to run Unit test using Eclipse in JavaNow you have your Junit test created, you can execute it just like you
run any Java application:





Right Click --> Run As --> Junit Test





This will run all the JUnit tests
declared in this class and will pass if all the test run successfully and pass
the condition tested by various assert statement and fail if
any of JUnit tests failed. Eclipse will print stack trace and hyper link to the
failed test and you can go and fix the problem.











Why are my JUnit results not showing up?


Some time when your all JUnit tests passed you may not see any result, because of an option called "Show Failures Only". For more satisfying results, go to the downward-pointing triangle at the right end of the JUnit pane, and make sure Show Failures Only is not checked, as shown in following screenshot. Some time your JUnit test will not succeed i.e. it will fail or run into error. In JUnit, there is difference between a "failure" and an "error"? A failure is when one of your assertions fails--that is, your program does something wrong, and your JUnit test notices and reports the fact. An error is when some other Exception occurs due to programming mistakes, such as a NullPointerException or an ArrayIndexOutOfBoundsException. Both error and failure are not good for your code. A good Junit test case should be able to bring failure and error a like. You should also ensure that your JUnit testcase should pass always and doesn't throw any error or failures.




How to see result of JUnit test in Eclipse IDE












How to create JUnit Test suit in Eclipse


Like individual unit tests, you can also create a test suite for creating tests for more than one classes in Java. In order to create JUnit test suite in Eclipse  Go to File → New → Other... → Java → JUnit → TestSuite, and click Next>. Select all the classes, and click Finish. Once created, You can run this test suite the same way you run other JUnit tests. Result of JUnit test suite will also show in JUnit console like previous run.




How to create JUnit test suite in Eclipse IDE






How to write JUnit tests in Netbeans



Junit support in Netbeans is also great and seamless. Here is the steps
to create JUnit test in Netbeans





1. Create a New Java Project called JUnitExample.


2. Create a Java Class Calculator in project
which should have
add() and multiply() method.


3. Now Select a Java Class --> Right click --> Tools
--> Create Junit tests


this will create Junit test class for all the methods of selected Java class.





How to execute Junit tests in Netbeans



Executing JUnit tests in Netbeans is much simpler than it was in Eclipse.
Go to your Junit test class and right click and select
run
File
option. This will execute all the JUnit tests on File and show the
result in console. As earlier test will
be pass if all test method passes otherwise it will fail. Netbeans also shows complete stack trace and hyperlink of failed test cases.





Code


Here is complete code example of, How
to write unit test in Java using JUnit framework
. In this example, we have
a Java class called
Calculator, which has two methods add() and multiply() and takes
variable arguments. In this JUnit tutorial, we will write JUnit testcases, to
test these two methods.






/**


 * Simple Java Calculator with add and multiply
method


 */


public class Calculator {





        public int add(int... number)
{


                int total = 0;


                for (int i : number) {


                        total += i;


                }


                return total;


        }





        public int multiply(int... number)
{


                int product = 0;


                for (int i : number) {


                        product *= i;


                }


                return product;


        }





}









Following class CalculatorTest is our JUnit test class, it
contains two methods
testAdd() and testMultiply(). Since we
are using JUnit 4, we don’t need to use prefix
test, but I have
used that to make test methods explicit.
@Test annotation
is used by JUnit 4 framework to identify all test cases. If you are new to
JUnit 4, then see this post to learn more about JUnit 4 annotations. By the
way when we run this class as JUnit Test, it will show how many test cases pass
and how many failed. If all the test cases pass then it will show green bar,
otherwise red bar to indicate failure.






import static
org.junit.Assert.*;


import org.junit.Test;





/**


 * JUnit Test class for testing methods of
Calculator class.


 */


public class CalculatorTest {





        @Test


        public void testAdd() {


                Calculator calc = new Calculator();


                assertEquals(60, calc.add(10,20,30));


        }





        @Test


        public void testMultiply() {


                Calculator calc = new Calculator();


                assertEquals(6000, calc.multiply(10,20,30));


        }





}






That’s all on How to write unit test in Java using JUnit framework in
Eclipse and Netbeans
. JUnit testing framework is is very useful for writing
and executing unit test for Java classes and it can also be integrated into
build system by using ANT and Maven, which means you
can all your tests automatically at build time. By the way since many project
have there JUnit test running during build process, it’s good to keep  unit test short and quickly executable to
avoid lengthy build. See JUnit best practices guide
more unit testing practices. Also start using Junit 4 annotations, they have
made job of writing unit tests much easier. 




Recommended Book: Pragmatic Unit Testing in Java with JUnit

































Source:http://javarevisited.blogspot.com/2013/03/how-to-write-unit-test-in-java-eclipse-netbeans-example-run.html

Tidak ada komentar:

Posting Komentar