DEV Community

AbdlrahmanSaber
AbdlrahmanSaber

Posted on • Edited on

How to use Unit tests in Laragine

In the previous tutorial, I taught you how to create a fully CRUD API, let's continue the journey and learn how to use Laragine to test the API that we created in the previous tutorial.

Steps:

We need to do 3 things in phpunit.xml in the root directory:

  1. Change the value of the bootstrap attribute to vendor/yepwoo/laragine/src/autoload.php in PHPUnit tag (it's the same as vendor/autoload.php but with needed stuff to run the tests correctly in the generated modules and units).

  2. Add the following to the Unit test suite:

<directory suffix=".php">./core/*/Tests/Feature</directory>
<directory suffix=".php">./plugins/*/Tests/Feature</directory>

  1. add the following to Feature test suite:

<directory suffix=".php">./core/*/Tests/Feature</directory>

<directory suffix=".php">./plugins/*/Tests/Feature</directory>

*Here's the full code snippet: *
image

  • Let's go to PostTest.php in core/Blog/Tests/Feature
  • There're five main functions in the file:
  • testItShouldGetListingOfTheResource() for testing get the lists of the the resource.
  • testItShouldStoreNewlyCreatedResource() for testing create a new resource in the storage.
  • testItShouldGetSpecifiedResource() for testing get a specefied the resource.
  • testItShouldUpdateSpecifiedResource() for testing update a resource in the storage
  • testItShouldRemoveSpecifiedResource() for testing remove a resource from the storage

Note

you can edit the unit tests function as you want, we just write the main methods for each CRUD.

Now open your terminal or git bash in your project and let's run the test, you can run one of the following commands:

  1. php artisan test
  2. ./vendor/bin/phpunit

image

Conclusion

I hope you found this article helpful. If you need any help please let me know in the comment section.

Let's connect on LinkedIn

Top comments (0)