Как написал коллега выше это абсолютно разные тесты.
-
Первый пример: это модульный тест или unit. Обычно им тестируют класс и несколько классов когда они в зависимостях. Для примера если в аргументах примитив(число) в тестах можно передать все случаи 0 или даже отрицательные числа. Если у вас подход (DDD) можно протестировать инварианты.
-
Функциональные(интеграционные или E2E - end to end) тесты - (в Laravel папка Feature) тестирование черного ящика. Например вы делаете запрос и ожидаете определенного ответа. В laravel это сделано не совсем корректно - так как предлагается в тестах лезть в базу
$this->assertDatabaseHas('users', [
'email' => 'some@something.com'
]);
Функциональное тестирование не про базу, оно о том как приложении работает в целом.