agentsclimarketplace

Laravel testing

Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/laravel-testing

🧠 The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.

Install
npx -y skills add ComeOnOliver/skillshub --skill laravel-testing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Automated testing standards with Pest and PHPUnit. Use when writing Pest or PHPUnit feature/unit tests in Laravel applications. (triggers: tests/**/*.php, phpunit.xml, feature, unit, mock, factory, sqlite)

SKILL.md

2.2 KB, 499 tokens by cl100k_base, as published. Nobody here has run it

Laravel Testing

Priority: P1 (HIGH)

Structure

tests/
β”œβ”€β”€ Feature/            # Integration/HTTP tests
β”œβ”€β”€ Unit/               # Isolated logic tests
└── TestCase.php

Implementation Guidelines

Pest & Modern Testing

  • Feature Tests: Use uses(RefreshDatabase::class) at the top of Pest files. Example: it('creates post', fn() => $this->postJson('/api/posts', [...]) verifies database rolled back after each test.
  • Transactions: For faster but non-truncating isolation, use DatabaseTransactions.

Mocking & External Services

  • Service Mocking: Use $this->mock(PaymentService::class) with shouldReceive('charge')->once()->with(100) to assert interaction.
  • Loose Verification: Use $this->spy() for behavior validation without strict ordering.
  • Network Safety: Never make real network calls in automated tests.

Test Data & Infrastructure

  • Factories: Create test data via Post::factory()->count(3)->create(['user_id' => $id]).
  • Definition: Implement definition(): array using fake() in factory classes.
  • Generation: Run php artisan make:factory PostFactory --model=Post.
  • SQLite Support: In phpunit.xml, set DB_CONNECTION' value='sqlite' and DB_DATABASE' value=':memory:' for in-memory, lightning-fast tests.

HTTP Assertions

  • Fluent Assertions: Chain assertStatus(201), assertJson(['data' => ...]), and assertJsonStructure.
  • Header Verification: Use assertHeader('Content-Type', 'application/json').

Anti-Patterns

  • No real network calls: Always mock or stub external services.
  • No state leakage between tests: Use RefreshDatabase trait.
  • No DB::table()->insert(): Never DB::table()->insert() raw data in tests β€” use Eloquent Factories instead.
  • No heavy computations in unit tests: Move to Feature layer.

References

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.