It’s a new year again. I was thinking about what to write in 2016. What would be a better start? Then I have been struggling between PHPUnit and design patterns. In the end, I decided to start the new year with PHPUnit.
PHPUnit is also new knowledge for me. When I used Laravel before, I only briefly learned about it and never really practiced it. I always thought that I was going to spend a month studying such a cool thing. As a result... the installation took me half a day, and the rest was nothing.
I would like to add here that my environment is as follows:
xampp (php5.6) + win7
There are pitfalls in the installation, please be careful
Why did it take me half a day to install? Alas, it’s all tears. If I don’t learn my lesson, I’ll find some expired documents and it won’t work. Finally, I found the answer I wanted in the official documentation. The official website has already made it very clear, but I will say it again here, why? Make up the word count! Hehe, of course I won't be so shameless, mainly because xampp has installed phpunit by itself (very old version, so it needs to be reinstalled). I will focus on how to overwrite its own phpunit.
I’m being lazy here and just screenshot the content from the official website.
The following are the key points:
The official website says to configure environment variables here, everyone must be careful. To give my own example, I installed xampp in D:xampp and configured the php location of xampp in the environment variables. So if I configure the newly downloaded phpunit in this directory, when using phpunit, I still use the one that comes with xampp. So remember to configure your newly downloaded phpunit before xampp.
After completing the above operations, please open Command (Win+R) and enter: phpunit –version. If you see the following effect, it means you have completed the installation:
Test's test
Now you need to try our phpunit. I will post the code directly here first, and I will explain why at the beginning of the next article.
For the sake of simplicity here, I wrote the classes that need to be tested and the test cases in a file. Definitely don't do this during use.
/**
* @author: helei
* @createTime: 2016-01-15 09:45
* @description:
*/classTryClass
{publicfunctiongetValue()
{return1;
}
}
classTryTestextendsPHPUnit_Framework_TestCase
{publicfunctiontestValue()
{$try = new TryClass();
$this->assertEquals(1, $try->getValue());
}
}
Then go to the directory where the file is located and run phpunit:
This picture shows the correct situation. You can try changing the value to other values.
Oh, I also need to mention here that the problem with the PHPUnit_Framework_TestCase class is that after installing phpunit, this class will not exist. You need to install the phpunit libary through composer. The content of the composer.json file is as follows:
{
"require" : { },
"require-dev" : { "phpunit/phpunit": "5.1"}
}
Even if we have completed the phpunit today, it may not be detailed enough, but if you use more hands-on work, it should not be a problem.
I originally wanted to release it on New Year's Day, but since I just changed my job at the end of the year, and when I first arrived at the new company, I had to release a major version, so I worked overtime and finally completed the development task yesterday. Today I take this opportunity to write the beginning of 2016, and then casually talk about my study plan for 2016. I write it here to remind myself not to forget it.
2016 Learning Plan
For my following learning plan, I will adopt a blog-driven approach, that is, to learn a skill, I will complete the blog content of the corresponding skill, firstly, to deepen the learning level, secondly, to encourage everyone, and thirdly. Come... forget it, I won't come. Anyway, I will write it after I learn it. Corrections to incorrect addresses are welcome.
The words have been released. If 2016 is not completed, it will be a slap in the face. Would I let myself be slapped in the face? Who knows! Hahaha
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });The above introduces PHPUnit from scratch (1): starting from its installation and configuration, including aspects of the content, I hope it will be helpful to friends who are interested in PHP tutorials.