florianwolters/component-test

A set of assert methods for PHPUnit.

dev-master 2013-04-04 14:55 UTC

This package is not auto-updated.

Last update: 2024-11-09 15:48:27 UTC


README

Build Status

FlorianWolters\Component\Test is a simple-to-use PHP component that offers a set of assert methods for PHPUnit.

Usage

Extend the abstract class FlorianWolters\Component\Test\TestCaseAbstract instead of \PHPUnit_Framework_TestCase to use the assert methods.

Assertions

This section lists the various assertion methods that are available in addition to the standard assertions listed here.

  • assertInterface()

    assertInterface(string $actual[, string $message = ''])

    assertNotInterface() is the inverse of this assertion and takes the same arguments.

  • assertTrait()

    assertTrait(string $actual[, string $message = ''])

    assertNotTrait() is the inverse of this assertion and takes the same arguments.

  • assertAbstractClass()

    assertAbstractClass(string $actual[, string $message = ''])

    assertNotAbstractClass() is the inverse of this assertion and takes the same arguments.

  • assertCloneableClass()

    assertCloneableClass(string|object $actual[, string $message = ''])

    assertNotCloneableClass() is the inverse of this assertion and takes the same arguments.

  • assertFinalClass()

    assertFinalClass(string|object $actual[, string $message = ''])

    assertNotFinalClass() is the inverse of this assertion and takes the same arguments.

  • assertInstantiableClass()

    assertInstantiableClass(string|object $actual[, string $message = ''])

    assertNotInstantiableClass() is the inverse of this assertion and takes the same arguments.

  • assertInternalClass()

    assertInternalClass(string|object $actual[, string $message = ''])

    assertNotInternalClass() is the inverse of this assertion and takes the same arguments.

  • assertIterateableClass()

    assertIterateableClass(string|object $actual[, string $message = ''])

    assertNotIterateableClass() is the inverse of this assertion and takes the same arguments.

  • assertNamespacedClass()

    assertNamespacedClass(string|object $actual[, string $message = ''])

    assertNotNamespacedClass() is the inverse of this assertion and takes the same arguments.

  • assertUserDefinedClass()

    assertUserDefinedClass(string|object $actual[, string $message = ''])

    assertNotUserDefinedClass() is the inverse of this assertion and takes the same arguments.

Features

Requirements

Usage

The best documentation for FlorianWolters\Component\Test are the unit tests, which are shipped in the package. You will find them installed into your PEAR repository, which on Linux systems is normally /usr/share/php/test.

Installation

Local Installation

FlorianWolters\Component\Test should be installed using the dependency manager Composer. Composer can be installed with PHP.

php -r "eval('?>'.file_get_contents('http://getcomposer.org/installer'));"

This will just check a few PHP settings and then download composer.phar to your working directory. This file is the Composer binary. It is a PHAR (PHP archive), which is an archive format for PHP which can be run on the command line, amongst other things.

Next, run the install command to resolve and download dependencies:

php composer.phar install

System-Wide Installation

FlorianWolters\Component\Test should be installed using the PEAR installer. This installer is the PHP community's de-facto standard for installing PHP components.

pear channel-discover pear.florianwolters.de
pear install --alldeps fw/Test

As A Dependency On Your Component

Composer

If you are creating a component that relies on FlorianWolters\Component\Test, please make sure that you add FlorianWolters\Component\Test to your component's composer.json file:

{
    "require-dev": {
        "florianwolters/component-test": dev-master"
    }
}

PEAR

If you are creating a component that relies on FlorianWolters\Component\Test, please make sure that you add FlorianWolters\Component\Test to your component's package.xml file:

<dependencies>
  <required>
    <package>
      <name>Test</name>
      <channel>pear.florianwolters.de</channel>
      <min>0.1.0</min>
      <max>0.1.99</max>
    </package>
  </required>
</dependencies>

Development Environment

If you want to patch or enhance this component, you will need to create a suitable development environment. The easiest way to do that is to install phix4componentdev:

# phix4componentdev
pear channel-discover pear.phix-project.org
pear install phix/phix4componentdev

You can then clone the Git repository:

# PHP-Component-Test
git clone http://github.com/FlorianWolters/PHP-Component-Test

Then, install a local copy of this component's dependencies to complete the development environment:

# build vendor/ folder
phing build-vendor

To make life easier for you, common tasks (such as running unit tests, generating code review analytics, and creating the PEAR package) have been automated using phing. You'll find the automated steps inside the build.xml file that ships with the component.

Run the command phing in the component's top-level folder to see the full list of available automated tasks.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://gnu.org/licenses/lgpl.txt.