Skip to content

downshiftorg/refute-assert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RefuteAssert

PHPUnit is awesome. But remembering the inversions of the assertions is really difficult. I'm sure there's some sort of method to Sebastian's madness, but I can't figure out what it is. Take these examples:

<?php

$this->assertNotContainsOnly();
$this->assertClassNotHasStaticAttribute();
$this->assertStringEndsNotWith();

Remembering where to put the Not is tough.

##Solution: Refute

RefuteAssert aliases all of the assert*Not* assertion inversions to refuteX. So, now we can type:

<?php

$this->refuteContainsOnly();
$this->refuteClassHasStaticAttribute();
$this->refuteStringEndsWith();

This keeps the API perfectly consistent, reads very fluently, is much easier to remember, and has the added bonus that assert and refute have the same number of characters, so it makes your test methods look cleaner. Props to Buster.js for the idea.

##Installation

Pull the package in through Composer.

{
    "require": {
        "downshiftorg/refute-assert": "0.1.*"
    }
}

Then, just use the RefuteAssert trait in a TestCase class that extends PHPUnit_Framework_TestCase. If you don't already have such a class, create one, otherwise just add the trait to your existing child class. Here's an example:

<?php

namespace Acme\Foo;

class MyTestCase extends \PHPUnit_Framework_Testcase {

	use \DownShift\RefuteAssert\RefuteAssert;

}

About

Use refuteX terminology instead of assertNotX for PHPUnit assertions, plus some extra assert/refute pairs.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages