1. Go to this page and download the library: Download kairos-project/tests 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/ */
kairos-project / tests example snippets
class MyClassTest extends AbstractTestClass
{
/**
* Get tested class
*
* Return the tested class name
*
* @return string
*/
protected function getTestedClass(): string
{
return ConfigurationDefinition::class;
}
}
class MyClassTest extends AbstractTestClass
{
/**
* Test constructor
*
* This method validate the constructor of the MyClass class.
*
* @return void
*/
public function testConstruct()
{
$this->assertConstructor(
[
'theFirstArgument' => 'theArgumentValue',
'same:reference' => $this->createMock(\stdClass::class),
'same:otherReference' => $this->createMock(\stdClass::class)
]
);
$this->assertConstructor(
[
'theFirstArgument' => 'theArgumentValue',
'same:reference' => $this->createMock(\stdClass::class)
],
[
'otherReference' => null
]
);
}
[...]
}
class MyClassTest extends AbstractTestClass
{
/**
* Test constructor
*
* This method validate the constructor of the MyClass class.
*
* @return void
*/
public function testConstruct()
{
$this->assertConstructor(
[
'modifiedInjection' => new InjectionConstraint(true, $this->equalTo([true]))
]
);
}
[...]
}
class MyClassTest extends AbstractTestClass
{
/**
* Test method
*
* This method validate the methodName method of the MyClass class.
*
* @return void
*/
public function testMethodName()
{
$instance = $this->getInstance();
$this->assertProtectedMethod('methodName');
$method = $this->getClassMethod('methodName');
$result = $method->invoke($instance);
$this->assertEquals('The expected result', $result);
}
[...]
}
class MyClassTest extends AbstractTestClass
{
/**
* Test getProperty.
*
* This method validate the getProperty method of the MyClass class.
*
* @return void
*/
public function testGetProcessEvent()
{
$propertyContent = $this->createMock(\stdClass::class);
$this->assertIsSimpleGetter(
'property',
'getProperty',
$propertyContent
);
}
/**
* Test for property accessor.
*
* Validate the getProperty and setProperty methods.
*
* @return void
*/
public function testPropertyAccessor() : void
{
$this->assertHasSimpleAccessor('property', $this->createMock(\stdClass::class));
}
[...]
}
class MyClassTest extends AbstractTestClass
{
/**
* Test for process.
*
* Validate the process methods of the MyClass class.
*
* @return void
*/
public function testProcess()
{
$instance = $this->getInstance(
[
'logger' => $this->createMock(LoggerInterface::class),
'eventDispatcher' => $this->createMock(EventDispatcher::class)
]
);
$this->assertEquals(42, $instance->process());
}
[...]
}
class MyClassTest extends AbstractTestClass
{
/**
* Test for routine.
*
* Validate the routine methods of the MyClass class.
*
* @return void
*/
public function testRoutine()
{
$logger = $this->createMock(LoggerInterface::class);
$this->getInvocationBuilder($logger, $this->once(), 'debug')
->withConsecutive(
[
$this->equalTo('Start routine')
],
[
$this->equalTo('End routine')
]
);
$this->getInstance(['logger' => $logger])->routine();
}
[...]
}
class MyClassTest extends AbstractTestClass
{
/**
* Test set data
*
* Validate the data setter of some class
*
* @return void
*/
public function testContent(): void
{
$instance = $this->getInstance();
$date = new \DateTime();
$instance->setSubject('Test subject');
$instance->setEmail('[email protected]');
$instance->setDate($date);
$this->assertPropertiesSame($instance, ['date' => $date]);
$this->assertPropertiesEqual(
$instance,
['subject' => 'Test subject', 'email' => '[email protected]']
);
}
[...]
}
class MyClassTest extends AbstractTestClass
{
/**
* Test a specific class outside the defined tested class
*
* Validate a class defined at runtime
*
* @return void
*/
public function testSpecificClass(): void
{
$baseInstance = $this->getInstance();
$this->runTestWithInstanceOf(SUT::class);
$specificInstance = $this->getInstance();
$this->assertInstanceOf($this->getTestedClass(), $baseInstance);
$this->assertInstanceOf(SUT::class, $specificInstance);
}
[...]
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.