![]() Once you start using them you cannot stop, but for sure, you’re writing better and safer code, believe me. TDD and Debugging are two important steps in development. You have to useful commands/button to press. You’ll get all that in the same tab you saw your tests running: You will get a lot of information at that specific point, like current variables content and even continuing the executing step by step. ![]() If you run the same test with debugging support you’ll stop on that breakpoint, and then the magic starts happening. To run tests with debugging support use Control + Shift + D for the single test case and Control + D for the last one, just replacing R by D. If you to go the test case source code and run it you will not stop anywhere, because you’re running the test only. ![]() You know the shortcuts to run a single current test case ( Control + Shift + R) and the last run test case ( Control + R). I’m gonna add a break point inside the $comment->isApproved() method, like this: $this->assertTrue($comment->isApproved()) $comment = factory(Comment::class)->create() Let’s take a simple test case from Corcel: /** */ Just to remember, Control + Shift + R to run the current test case you are, and Control + R to run the last run test case. Then you don’t have to change the current file you are to run the last test case. This tells PHPStorm to run the last run test, only. If you’re fixing a bug in another class, not the test one, and you want to run that test again to see if it’s passing now. If you press the shortcut outside a test case method you’ll run tests for that specific class, all them. Inside any part of that method, if you press this shortcut you’ll run that test case. The same can be used when you’re inside a class and want to run just one test/method. In this new tab if you click on a single test case in the left sidebar and Control + Shift + R you’ll run just that specific test. The point here is you can run just one test case or even the last one. You’ll see a new tab on the bottom of the window with all your tests running: ![]() This is the name we gave to the configuration we just created. Go to Run -> Run and then select phpunit. Here we’re going to create a new configuration related to PHPUnit, give it the phpuni name and say PHPStorm we’d like to use the configurations in our phpunit.xml file. Just set that in your IDE’s preferences window. This is necessary for code checks in the IDE and for running PHPUnit. Configure your XDebug port and uncheck some pre-checked options, just to avoid creating unnecessaries break points.įirst we must tell PHPStorm which PHP version we’re using and where is that PHP binary. Then, in PHPStorm (I’m using currently version 2017.3), go to Preferences and Languages & Frameworks -> PHP -> Debug. With Xdebug v2.6.0alpha1, Copyright (c) 2002-2017, by Derick Rethans Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies When type php -v in the command line I can saw the XDebug extension enabled: PHP 7.2.0 (cli) (built: 21:47:51) ( NTS ) Zend_extension="/usr/local/opt/php72-xdebug/xdebug.so" My config file is located at /usr/local/etc/php/7.2/conf.d/ext-xdebug.ini: So I had to update my php.ini file to change its port to 9001. We’re assuming here you already have the xdebug PHP extension installed. In my case, I’m using Laravel Valet, and it runs on the port 9000, the same port XDebug runs by default. PHPStorm Configuring XDebugįirst let’s configure XDebug in PHPStorm. I’m gonna use the tests from my open source project Corcel. I’m assuming you already have some tests written and just want to run them in PHPStorm, debugging with XDebug. ![]() I’m not gonna teach you how to write tests and even how TDD is good. PHPStorm has a dedicated interface to run and debug tests, almost in the same window, what makes the process of writing code safer and easier. I started using TDD on the command line, and still use it sometimes, but since I started using PHPStorm and decided to try how it handles tests, and that’s amazing! When you add debugging tools – like XDebug – to it everything starts making sense, then you have the feeling you’re on the right path. The point here is that one of the most important benefits it’s to use debugging tools together with tests, making your flow more efficient. Test Driven Development (TDD) is an old topic, I know, but it seems many people don’t understand how it makes you write better code. Learn how to configure XDebug and PHPUnit in PHPStorm, allowing you to write better tests and fix bugs faster. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |