Do you encounter the following situations during the process of Program Development: After you have spent a long time developing an application, you think it should be a success. Unfortunately, when debugging, bugs are constantly discovered, and the most terrible thing is
Do you encounter the following situations during the process of Program Development: After you have spent a long time developing an application, you think it should be a success. Unfortunately, when debugging, bugs are constantly discovered, and the most terrible thing is
When you encounter these situations that make you frustrated, you will definitely think about a better solution? Of course there are some solutions! This is the unit test. Unit testing not only solves the above headaches to a certain extent, but also makes the code easy to maintain and allows you to refactor the code more.
Once you write unit test cases, when you need to modify your code, you have to re-run your unit test cases and observe whether these unit test cases can pass, if the code passes, the code is okay.
People often say: Since unit tests are so good, why are so many people reluctant to write unit tests? There are several misunderstandings:
1. It is too time-consuming to write unit tests. Although many IDE tools have established a framework for writing unit tests, developers still need to write some unit test code. Like many best practices in development, doing the right thing in the right way will save a lot of time for development. When new features are added, you may access your web page and click manually to test the unit test cases, which is faster than manually testing the unit test cases.
2. Since the code can run, you do not need to write unit tests. However, if there are new members in the team and there are no good unit test cases, it is very likely that the new members will code at will without considering the consequences. If you have a well-written unit test and perform various tests while running the program, you can avoid bugs to the maximum extent possible.
3. Think that unit test code writing is boring. Programmers solve the problem by nature. Many Programmers think that unit test code writing is boring during intense coding. However, if you can discover as many errors as possible in the Code by writing unit tests at an early stage, it will save time and reduce the number of errors. Why not?
Start to install phpunit
This article will introduce phpunit (), a powerful unit testing tool in php, and explain how to use phpunit in practical work through actual examples. First, you can install phpunit using pear in php:
If you want to install it manually, you can refer to the phpunit manual to install ().
Write the first unit test case
Next we will write the first unit test case. When writing test cases, follow the following phpunit rules:
1 generally, you can extend the PHPUnit_Framework_TestCase class in the test case, so that you can use methods such as setUp () and tearDown.
2. The name of the Test case should be in a conventional format, that is, add "Test" after the tested class. For example, if the class to be tested is RemoteConnect, the name of the Test case is RemoteConnectTest.
3. All test methods in a test case should be named with the test + test method name, such as testDoesLikeWaffles (), note that the method must be declared as public. Of course, you can include private methods in your test cases, but they cannot be called by phpunit.
4. parameters cannot be received in the test method.
The following is a simple example. The Code is as follows:
The above code is actually used to connect to a specified server, so we can write the test code as follows:
In the above Code, because it inherits the PHPUnit_Framework_TestCase class, you do not need to write any code in the setUp and tearDown methods. The SetUp method initializes each test case before running, while tearDown performs some operations such as resource release after running each test case. In the test method, assertTrue of phpunit is used to determine whether the returned Boolean value is true. In this example, you can call the connectToServe method in RemoteConnect. php to determine whether the returned Boolean value can be connected to the server.