1. Go to this page and download the library: Download jolicode/asynit 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/ */
jolicode / asynit example snippets
use Asynit\Attribute\TestCase;
#[TestCase]
class ApiTest
{
}
use Asynit\Attribute\Test;
use Asynit\Attribute\TestCase;
#[TestCase]
class ApiTest
{
#[Test]
public function my_test()
{
// do some test
}
}
use Asynit\Attribute\Test;
use Asynit\Attribute\TestCase;
#[TestCase]
class ApiTest
{
use Asynit\AssertCaseTrait;
#[Test]
public function my_test()
{
$this->assertSame('foo', 'foo');
}
}
use Asynit\Attribute\TestCase;
use Asynit\HttpClient\HttpClientWebCaseTrait;
#[TestCase]
class FunctionalHttpTests
{
use HttpClientWebCaseTrait;
public function testGet()
{
$response = $this->get('https//example.com');
$this->assertStatusCode(200, $response);
}
}
use Asynit\Attribute\TestCase;
use Asynit\HttpClient\HttpClientApiCaseTrait;
#[TestCase]
class FunctionalHttpTests
{
use HttpClientApiCaseTrait;
public function testGet()
{
$response = $this->get('https//example.com');
$this->assertStatusCode(200, $response);
$this->assertSame('bar', $response['foo']);
}
}
use Asynit\Attribute\Depend;
use Asynit\Attribute\TestCase;
use Asynit\HttpClient\HttpClientApiCaseTrait;
#[TestCase]
class SecurityTest extends TestCase
{
use HttpClientApiCaseTrait;
public function testLogin()
{
$response = $this->post('/', ['username' => user, 'password' => 'test']);
$this->assertStatusCode(200, $response);
return $response->getBody()->getContents();
}
#[Depend("testLogin")]
public function testAuthenticatedRequest(string $token)
{
$response = $this->get('/api', headers: ['X-Auth-Token' => $token]);
$this->assertStatusCode(200, $response);
}
}
use Asynit\Attribute\Depend;
use Asynit\Attribute\TestCase;
use Asynit\HttpClient\HttpClientApiCaseTrait;
#[TestCase]
class PostTest
{
#[Depend("Application\ApiTest\SecurityTest::testLogin")]
public function testGet($token)
{
$response = $this->get('/posts', headers: ['X-Auth-Token' => $token]);
$this->assertStatusCode(200, $response);
}
}
namespace App\Tests;
use Asynit\HttpClient\HttpClientApiCaseTrait;
class TokenFetcher
{
use HttpClientApiCaseTrait;
protected function fetchToken(string $email, string $password = 'password')
{
$payload = [
'email' => $email,
'password' => $password,
];
$response = $this->post('/users/token', ['username' => 'user', 'password' => 'test']);
return $response['token'];
}
protected function fetchUserToken()
{
return $this->fetchToken('[email protected]', 'password');
}
}
namespace App\Tests;
use Asynit\Attribute\Depend;
use Asynit\Attribute\TestCase;
use Asynit\HttpClient\HttpClientApiCaseTrait;
#[TestCase]
class OrganizationTest
{
use HttpClientApiCaseTrait;
#[Depend("App\Tests\TokenFetcher::fetchUserToken")]
public function test_api_method_with_token(string $token)
{
$response = $this->get('/api', headers: ['X-Auth-Token' => $token]);
// ...
}
}
bash
$ php vendor/bin/asynit path/to/the/file.php
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.