StydeNet / enlighten

Enlighten your APIs with auto-generated documentation
MIT License
575 stars 32 forks source link

Support popular 3rd party parallel testing #49

Closed phadaphunk closed 3 years ago

phadaphunk commented 3 years ago

We have been using Enlighten for a while and are very happy with the results! Recently we switched our test runner to paratest for tests to run in parallel and greatly (GREATLY) improve our testing speed. The problem is I can't seem to make it work with Enlighten. Is this a know issue (Enlighten+ parallel testing)? Also note that parallel testing should be included in the upcoming laravel version 9 (https://laravel.com/docs/master/testing#running-tests-in-parallel)

The errors I am getting are

Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`cyberbox_enlighten_dev`.`enlighten_examples`, CONSTRAINT `enlighten_examples_group_id_foreign` FOREIGN KEY (`group_id`) REFERENCES `enlighten_example_groups` (`id`) ON DELETE CASCADE) (SQL: insert into `enlighten_examples` (`group_id`, `method_name`, `line`, `title`, `slug`, `description`, `order_num`, `test_status`, `status`, `updated_at`, `created_at`) values (55, a_product_has_product_categories, 143, A product has product categories, a-product-has-product-categories, ?, 9999, unkown, unkown, 2021-01-17 16:27:16, 2021-01-17 16:27:16))

As @sileence suggested on the discord server

Parallel testing might clash with the current database traits for transactions and migrations

We will watch this request for further development on the matter. Thanks for your usual amazing support speed on disc! 👍