1. Go to this page and download the library: Download mindplay/testies 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/ */
mindplay / testies example snippets
// import the functions you need:
use function mindplay\testies\{test, ok};
// bootstrap Composer:
;
}
);
// run your tests:
exit(run()); // exits with errorlevel (for CI tools etc.)
# Assertions:
ok($result, $why, $value); # check the result on an expression
eq($value, $expected, $why); # check value for strict equality with an expected value
expect($exception_type, $why, $function); # check for an expected exception that should be thrown
# Helper functions:
invoke($object, $method_name, $arguments); # invokes a protected or private method; returns the result
inspect($object, $property_name); # returns a protected or private property value
format($value, $detailed = false); # format a value for use in diagnostic messages
test(
'Various things of great importance',
function () {
ok($foo instanceof Foo); # type-checking an object
ok(is_int(inspect($foo, '_count'))); # type-checking a private property
ok(123 == '123'); # loose comparison
ok(in_array('b', ['a','b','c'])); # check for presence of a value
ok(isset($map['key'])); # check for presence of a key
ok(is_string(@$map['key'])); # type-check a key/value with error-suppression
}
);
/**
* Assert that a numeric value is very close to a given expected value
*
* @param float|int $value actual value
* @param float|int $expected expected near value
* @param int $decimals number of decimals of error tolerance
*/
function nearly($value, $expected, $decimals = 8) {
ok(abs($value - $expected) * pow(10, $decimals) <= 1, "{$value} should be nearly {$expected}", $value);
}
test(
'Values should be approximately right',
function () {
nearly(9.999999999, 10);
nearly(10.000000001, 10);
nearly(10.00002, 10);
}
);
function checkValue($value) {
ok(is_int($value), "value should be numeric", $value);
ok($value > 0, "value should be positive", $value);
}
test(
'Checking out some numbers',
function () {
checkValue(123);
checkValue(-1);
}
);
use Nyholm\Psr7\Factory\Psr17Factory;
use Zaphyr\HttpClient\Client;
use function mindplay\testies\{test, ok, eq};
$server = new TestServer(__DIR__, 8088);
test(
'Can get home page',
function () {
$server = new TestServer(__DIR__, 8088);
$http = new Psr17Factory();
$client = new Client($http, $http);
$response = $client->sendRequest($http->createRequest("GET", "http://127.0.0.1:8088/index.php"));
eq($response->getStatusCode(), 200);
ok(strpos($response->getBody(), '<title>Welcome</title>') !== false, "it should capture the response body");
}
);
// Derive your custom configuration class:
class MyTestConfiguration extends TestConfiguration
{
// ...
}
// Head off your test by selecting your custom configuration object:
configure(new MyTestConfiguration);
// Derive your custom driver class:
class MyTestDriver extends TestDriver
{
// ...
}
// Boostrap your test by selecting your custom driver:
configure(new TestConfiguration(new TestDriver));
class MyTestDriver extends TestDriver
{
// ...
}
class MyTestConfiguration extends TestConfiguration
{
protected function createDefaultDriver()
{
return new MyTestDriver();
}
// ...
}
configure(new MyTestConfiguration);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.