Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atoum/phpunit-extension
atoum PHPUnit extension — Run your PHPUnit tests with atoum
https://github.com/atoum/phpunit-extension
atoum php phpunit test test-framework testing-tools unit-testing
Last synced: 3 months ago
JSON representation
atoum PHPUnit extension — Run your PHPUnit tests with atoum
- Host: GitHub
- URL: https://github.com/atoum/phpunit-extension
- Owner: atoum
- License: other
- Created: 2016-01-08T22:47:21.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-01-30T09:06:47.000Z (about 7 years ago)
- Last Synced: 2024-03-25T21:15:13.851Z (10 months ago)
- Topics: atoum, php, phpunit, test, test-framework, testing-tools, unit-testing
- Language: PHP
- Homepage:
- Size: 154 KB
- Stars: 9
- Watchers: 4
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# atoum/phpunit-extension [![Build Status](https://travis-ci.org/atoum/phpunit-extension.svg?branch=master)](https://travis-ci.org/atoum/phpunit-extension)
This atoum extensions allows to run your existing PHPUnit test suites
with atoum's engine! If you want to migrate from PHPUnit to atoum,
this extension is your best companion!## Goals
Your project already has PHPUnit test suites. You felt in love with
atoum. You want to replace PHPUnit by atoum on your project. This
extension will allow you to run your PHPUnit test suites with atoum,
ensuring a smooth migration.## Install it
The extension is still a work in progress. You need to require a
developpement branch of atoum.Note: We need your help to complete the extension, so feel free to
test the extension and submit issues when you found one.Install extension using [Composer](https://getcomposer.org):
```json
{
"require-dev": {
"atoum/atoum": "dev-virtual-hooks",
"atoum/phpunit-extension": "~0.6"
}
}
```Enable the extension using atoum configuration file:
```php
addToRunner($runner);
```## Use it
By default, everything should work, simply run `atoum` as usual and
your test suites will execute.If you want to switch a test suite from PHPUnit to atoum, and get all
the features from atoum, replace the parent class of your test suites
from `PHPUnit\Framework\TestCase` to `mageekguy\atoum\phpunit`:```diff
-class EnumTest extends \PHPUnit\Framework\TestCase
+class EnumTest extends \mageekguy\atoum\phpunit
```Enjoy!
## Support
### Helpers
| Method | Supported |
|------------------------------------------------------------------------------------------|:---------:|
| `fail` | ❌ |
| `markTestIncomplete` | ❌ |
| `markTestSkipped` | ✅ |
| *Total* | 33% |### Assertions
| Method | Supported |
|--------------------------------------------------------------------------------------------------------------------|:---------:|
| `assertArrayHasKey(mixed $key, array $array[, string $message = ''])` | ✅ |
| `assertArrayNotHasKey` | ❌ |
| `assertClassHasAttribute` | ❌ |
| `assertClassNotHasAttribute` | ❌ |
| `assertArraySubset(array $subset, array $array[, bool $strict = '', string $message = ''])` | ✅ |
| `assertClassHasStaticAttribute` | ❌ |
| `assertClassNotHasStaticAttribute` | ❌ |
| `assertContains(mixed $needle, iterable $haystack[, string $message = ''])` | ✅ |
| `assertContains(string $needle, string $haystack[, string $message = '', boolean $ignoreCase = FALSE])` | ✅ |
| `assertNotContains` | ❌ |
| `assertContainsOnly(string $type, iterable $haystack[, boolean $isNativeType = NULL, string $message = ''])` | ✅ |
| `assertContainsOnlyInstancesOf(string $classname, iterable $haystack[, string $message = ''])` | ✅ |
| `assertNotContainsOnly` | ❌ |
| `assertCount($expectedCount, $haystack[, string $message = ''])` | ✅ |
| `assertNotCount($expectedCount, $haystack[, string $message = ''])` | ✅ |
| `assertEmpty(mixed $actual[, string $message = ''])` | ✅ |
| `assertNotEmpty(mixed $actual[, string $message = ''])` | ✅ |
| `assertEqualXMLStructure` | ❌ |
| `assertEquals(mixed $expected, mixed $actual[, string $message = ''])` | ✅ |
| `assertEquals(float $expected, float $actual[, string $message = '', float $delta = 0])` | ✅ |
| `assertEquals(DOMDocument $expected, DOMDocument $actual[, string $message = ''])` | ❌ |
| `assertEquals(object $expected, object $actual[, string $message = ''])` | ✅ |
| `assertEquals(array $expected, array $actual[, string $message = ''])` | ✅ |
| `assertNotEquals` | ❌ |
| `assertFalse(bool $condition[, string $message = ''])` | ✅ |
| `assertNotFalse` | ❌ |
| `assertFileEquals` | ❌ |
| `assertFileNotEquals` | ❌ |
| `assertFileExists` | ❌ |
| `assertFileNotExists` | ❌ |
| `assertGreaterThan(mixed $expected, mixed $actual[, string $message = ''])` | ✅ |
| `assertGreaterThanOrEqual(mixed $expected, mixed $actual[, string $message = ''])` | ✅ |
| `assertInfinite(mixed $variable[, string $message = ''])` | ✅ |
| `assertFinite(mixed $variable[, string $message = ''])` | ✅ |
| `assertInstanceOf($expected, $actual[, $message = ''])` | ✅ |
| `assertNotInstanceOf($expected, $actual[, $message = ''])` | ❌ |
| `assertInternalType($expected, $actual[, $message = ''])` | ✅ |
| `assertNotInternalType` | ❌ |
| `assertJsonFileEqualsJsonFile` | ❌ |
| `assertJsonStringEqualsJsonFile` | ❌ |
| `assertJsonStringEqualsJsonString` | ❌ |
| `assertLessThan` | ❌ |
| `assertLessThanOrEqual` | ❌ |
| `assertNan(mixed $variable[, string $message = ''])` | ✅ |
| `assertNull(mixed $variable[, string $message = ''])` | ✅ |
| `assertNotNull(mixed $variable[, string $message = ''])` | ✅ |
| `assertObjectHasAttribute(string $attribute[, string $message = ''])` | ✅ |
| `assertObjectNotHasAttribute(string $attribute[, string $message = ''])` | ✅ |
| `assertRegExp` | ❌ |
| `assertNotRegExp` | ❌ |
| `assertStringMatchesFormat` | ❌ |
| `assertStringNotMatchesFormat` | ❌ |
| `assertStringMatchesFormatFile` | ❌ |
| `assertStringNotMatchesFormatFile` | ❌ |
| `assertSame(mixed $expected, mixed $actual[, string $message = ''])` | ✅ |
| `assertNotSame(mixed $expected, mixed $actual[, string $message = ''])` | ✅ |
| `assertStringEndsWith` | ❌ |
| `assertStringEndsNotWith` | ❌ |
| `assertStringEqualsFile` | ❌ |
| `assertStringNotEqualsFile` | ❌ |
| `assertStringStartsWith` | ❌ |
| `assertStringStartsNotWith` | ❌ |
| `assertThat(mixed $value, PHPUnit_Framework_Constraint $constraint[, $message = ''])` | ✅ |
| `assertTrue(bool $condition[, string $message = ''])` | ✅ |
| `assertNotTrue` | ❌ |
| `assertXmlFileEqualsXmlFile` | ❌ |
| `assertXmlFileNotEqualsXmlFile` | ❌ |
| `assertXmlStringEqualsXmlFile` | ❌ |
| `assertXmlStringNotEqualsXmlFile` | ❌ |
| `assertXmlStringEqualsXmlString` | ❌ |
| `assertXmlStringNotEqualsXmlString` | ❌ |
| *Total* | 42.25% |### Classes
| Class | Supported | Mapped to |
|--------------------------------|:---------:|--------------------------------------|
| `PHPUnit\Framework\TestCase` | ✅ | `mageekguy\atoum\phpunit\test` |
| `PHPUnit\Framework\Constraint` | ✅ | `mageekguy\atoum\phpunit\constraint` |
| *Total* | 100% | |### Exceptions
| Class | Supported | Mapped to |
|------------------------------------------------|:---------:|------------------------------------------------|
| `PHPUnit\Framework\AssertionFailedError` | ✅ | `mageekguy\atoum\asserter\exception` |
| `PHPUnit\Framework\Exception` | ✅ | `mageekguy\atoum\exceptions\runtime` |
| `PHPUnit\Framework\ExpectationFailedException` | ✅ | `mageekguy\atoum\phpunit\constraint\exception` |
| *Total* | 100% | |### Annotations
| Annotation | Supported | Note |
|-----------------------------------|:---------:|:-------------------------------------------------:|
| `@author` | ✅ | |
| `@after` | ❌ | |
| `@afterClass` | ❌ | |
| `@backupGlobals` | ❌ | |
| `@backupStaticAttributes` | ❌ | |
| `@before` | ❌ | |
| `@beforeClass` | ❌ | |
| `@codeCoverageIgnore*` | ❌ | |
| `@covers` | ✅ | Does only consider the class name. |
| `@coversDefaultClass` | ✅ | |
| `@coversNothing` | ✅ | |
| `@dataProvider` | ✅ | |
| `@depends` | ❌ | |
| `@expectedException` | ❌ | |
| `@expectedExceptionCode` | ❌ | |
| `@expectedExceptionMessage` | ❌ | |
| `@expectedExceptionMessageRegExp` | ❌ | |
| `@group` | ✅ | |
| `@large` | ✅ | Does not support strict-mode failures |
| `@medium` | ✅ | Does not support strict-mode failures |
| `@preserveGlobalState` | ❌ | |
| `@requires` | ❌ | |
| `@runTestsInSeparateProcesses` | ✅ | Does not preserve global state in child processes |
| `@runInSeparateProcess` | ✅ | Does not preserve global state in child processes |
| `@small` | ✅ | Does not support strict-mode failures |
| `@test` | ❌ | |
| `@testdox` | ❌ | |
| `@ticket` | ❌ | |
| `@uses` | ❌ | |
| *Total* | 37.93% | |## Links
* [atoum](http://atoum.org)
* [atoum's documentation](http://docs.atoum.org)
* [PHPUnit](https://phpunit.de/)## License
phpunit-extension is released under the BSD-3-Clause License. See the bundled LICENSE file for details.
![atoum](http://atoum.org/images/logo/atoum.png)