This extension allows you to run tests in Laravel on the fly.
It is a bit like Better PHPUnit, with lower functionality, but with its own advantages.
- This is an extension for Laravel testing.
- You can test the method where the cursor is located. (You can also test the entire file.)
- You can call the last test performed.
- The command is executed in the terminal (not in the form of a task).
- Pest is also supported.
- Mixed use of PHPUnit and Pest is supported.
- Multibyte character test names in PHPUnit are also supported.
- The default test command is
php artisan test. You can change it in the configuration file.
- Place your cursor in/on the method you want to run
- Open the command menu:
cmd+shift+p - Select:
Cute Artisan Test: run - If you want to test the entire file, move the cursor to the top and then execute the command.
- Open the command menu:
cmd+shift+p - Select:
Cute Artisan Test: run previous
This extension contributes the following settings:
cute-artisan-test.testCommand: If this is not set, it will fall back tophp artisan test.cute-artisan-test.terminalFocus.enabled: Determines whether the terminal is focused after the test.cute-artisan-test.phpunitAndPestInMixedMode.enabled: When set totrue(default), the contents of the file under test are used to guess whether the file is PHPUnit or Pest. If disabled, only Pest is supported if the filevendor/bin/pestexists, otherwise only PHPUnit is supported. If you have problems getting test names in mixed mode, please change this setting accordingly.
Please set your preferred key bindings.
Example of a `keybindings.json' file
{
{
"key": "cmd+c cmd+r",
"command": "cute-artisan-test.run",
"when": "editorTextFocus && editorLangId == php"
},
{
"key": "cmd+c cmd+p",
"command": "cute-artisan-test.run-previous"
}
}- The test name is attempted to be retrieved by scanning up from the cursor location. If it cannot be retrieved, the entire file is tested.
- In mixed mode, the first 25 lines of the file are used to determine if it's a PHPUnit or Pest file. And if there is a line such as
class xxx extends TestCase, it is considered to be a PHPUnit file. - In PHPUnit, the test name of the command will be in the form of "\A.*:xxxxxxx\z". This is to prevent other test names starting with the same name from being executed.
- The extension does not work properly while your terminal is waiting for a keystroke.
In the terminal, you can Ctrl/Cmd + click messages like tests/Feature/ExampleTest.php:37 to open the corresponding file in the editor.
Please read it here. Contribution guidelines
Have fun!