Laravel Controller Testing

This is the first time I tried TDD.

At the first time, my controller tests looks like this

use RefreshDatabase; class ControllerCustomerIndustryTest extends TestCase {     use RefreshDatabase;      public function testIndex()     {         //      }      public function testStore()     {         //      }      public function testShow()     {         //      }      public function testUpdate()     {         //      }      public function testDelete()     {         //     } } 

Each test took 4-6 seconds for just this basic functions.

And then I tried changing the structure to reduce the number of RefreshDatabase.

use RefreshDatabase; class ControllerCustomerIndustryTest extends TestCase {     use RefreshDatabase;      public function testCustomerIndustryController()     {         $  this->store();         $  this->show();         $  this->update();         $  this->delete();         $  this->index();     }      private function index()     {         //      }      private function store()     {         //      }      private function show()     {         //      }      private function update()     {         //      }      private function delete()     {         //     } } 

Now each test runs below 1 second, because refreshDatabase only executed once, and I can just copy paste and use the same data for store(), show(), and update(). But then, I’m wondering if this is the right way, or this is actually an antipattern.

Please kindly explain to me what, how, and why test should be?