Junit (1) unit test using JUNIT4 in eclipse

Source: Internet
Author: User

When we write large programs, we need to write thousands of methods or functions that may be powerful, but we only use a small subset of the functions of the function in our program, and by debugging we can determine that a small subset of the functionality is correct. However, we should also make sure that each function is completely correct, because if we extend the program in the future and use the other functions of a function, which is a bug, it is definitely a very depressing thing. So, after each function is written, all aspects of the function should be tested, which we call unit tests. Traditional programming, unit testing is a very troublesome thing, you have to re-write another program, in the program to call the method you need to test, and carefully observe the results of the operation to see if there are errors. Because of this trouble, programmers are not very enthusiastic about writing unit tests. So there was a cow who launched the unit test package, which greatly simplifies the work of unit testing, which is JUNIT4. This article briefly describes the method of unit testing using JUNIT4 in Eclipse3.2.

First, let's take a stupid crash tutorial and don't ask why, follow Me, let's experience the thrill of unit testing!

First create a new project called Junit_test, we write a calculator class, this is a simple implementation of the subtraction, square, the root of the calculator class, and then to unit test these functions. This class is not perfect, and we deliberately keep some bugs for demonstration, which are described in the comments. This type of code is as follows:


Package andycpp; public class Calculator ... {private static int result;//static variable for storing run result public void Add (int n) ...  {result = result + N; } public void Substract (int n) ... {result = Result-1;//bug: Correct should be result =result-n} public void multiply (int n) ... {}//This method has not yet been written well public void divide (int n) ...  {result = result/n; } public void Square (int n) ...  {result = n * n; } public void SquareRoot (int n) ... {for (;;);//bug: Dead Loop} public void clear () ...  {//Results clear 0 result = 0; } public int GetResult () ...  {return result; }  }

The second step is to introduce the JUNIT4 Unit test package into this project: Right-click on the item, click "Properties",

In the pop-up Properties window, first select "Java Build Path" on the left, then the "Libraries" tab on the right, then on the far right, click on the "Add Library ..." button as shown:

Then select JUnit4 in the new pop-up dialog and click OK, as shown in the JUNIT4 software package is included in our project.

Wordend Related reading:
    • JUnit implements spring's unit tests
    • A solution for JUnit multithreaded testing
    • JUnit and its related unit testing techniques

The third step is to generate the JUnit test framework: In Eclipse's Package Explorer, right-click on the pop-up menu and select "JUnit test Case". As shown in the following:

In the popup dialog box, make the appropriate selections as shown in:

After clicking "Next", the system will automatically list the methods contained in your class and choose the method you want to test. In this example, we only test the "add, subtract, multiply, divide" four methods. As shown in the following:

The system then automatically generates a new class Calculatortest, which contains some empty test cases. You only need to make these test cases slightly modified to use. The complete calculatortest code is as follows:


Package andycpp;  Import static org.junit.assert.*;  Import Org.junit.Before;  Import Org.junit.Ignore;  Import Org.junit.Test; public class calculatortest ...  {private static Calculator Calculator = new Calculator (); @Before public void SetUp () throws Exception ...  {calculator.clear (); } @Test public void Testadd () ...  {Calculator.add (2);  Calculator.add (3);  Assertequals (5, Calculator.getresult ()); } @Test public void Testsubstract () ...  {Calculator.add (10);  Calculator.substract (2);  Assertequals (8, Calculator.getresult ()); } @Ignore ("Multiply () Not yet implemented") @Test public void testmultiply () ... {} @Test public void Testdivide () ...  {Calculator.add (8);  Calculator.divide (2);  Assertequals (4, Calculator.getresult ()); }  }

Wordend Related reading:
    • JUnit implements spring's unit tests
    • A solution for JUnit multithreaded testing
    • JUnit and its related unit testing techniques

Fourth step, run the test code: After modifying the code as described above, we right-click on the Calculatortest class and select "Run Asàjunit Test" to run our test as shown in:

The results of the operation are as follows:

Progress bar is red color indicates found error, the specific test results on the progress bar indicates "a total of 4 tests, of which 1 tests were ignored, one test failed."

At this point, we have fully experienced the methods of using JUnit in Eclipse. In the next article, I'll explain in detail every detail in the test code.

Copyright notice: I feel like I'm doing a good job. I hope you can move your mouse and keyboard for me to order a praise or give me a comment, under the Grateful!_____________________________________________________ __ Welcome reprint, in the hope that you reprint at the same time, add the original address, thank you with

Junit (1) unit test using JUNIT4 in eclipse

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.