1. Go to this page and download the library: Download testflowlabs/testlink library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
testflowlabs / testlink example snippets
// app/Services/UserService.php
use TestFlowLabs\TestingAttributes\TestedBy;
class UserService
{
#[TestedBy(UserServiceTest::class, 'it creates a user')]
#[TestedBy(UserServiceTest::class, 'it validates email format')]
public function create(array $data): User
{
// ...
}
}
// tests/Unit/UserServiceTest.php
// Link + Coverage (triggers coverage tracking)
test('it creates a user')
->linksAndCovers(UserService::class.'::create');
// Link only (traceability without coverage)
test('it creates a user integration')
->links(UserService::class.'::create');
// Multiple methods
test('it validates and creates')
->linksAndCovers(UserService::class.'::validate')
->linksAndCovers(UserService::class.'::create');
// tests/Unit/UserServiceTest.php
use TestFlowLabs\TestingAttributes\LinksAndCovers;
use TestFlowLabs\TestingAttributes\Links;
class UserServiceTest extends TestCase
{
// Link + Coverage
#[LinksAndCovers(UserService::class, 'create')]
public function testItCreatesUser(): void
{
// ...
}
// Link only
#[Links(UserService::class, 'create')]
public function testItCreatesUserIntegration(): void
{
// ...
}
// Multiple methods
#[LinksAndCovers(UserService::class, 'validate')]
#[LinksAndCovers(UserService::class, 'create')]
public function testItValidatesAndCreates(): void
{
// ...
}
}
// Production code has the attribute
#[TestedBy(UserServiceTest::class, 'it creates a user')]
public function create(): User { }
// Test file is missing link
test('it creates a user', function () { });
test('it creates a user', function () {
// ...
})->linksAndCovers(UserService::class.'::create');
// Production code has the attribute
#[TestedBy(UserServiceTest::class, 'testItCreatesUser')]
public function create(): User { }
// Test file is missing attribute
public function testItCreatesUser(): void { }
#[LinksAndCovers(UserService::class, 'create')]
public function testItCreatesUser(): void { }
use TestFlowLabs\TestLink\Runtime\RuntimeBootstrap;
RuntimeBootstrap::init();
#[TestedBy(UserServiceTest::class, 'it creates a user')]
public function create(): User
{
// Reader immediately knows this method is tested
}
// Unit test - use linksAndCovers for coverage
test('it creates a user with valid data')
->linksAndCovers(UserService::class.'::create');
// Integration test - use links for traceability only
test('it creates user through API endpoint')
->links(UserService::class.'::create');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.