Skip to content
An updated fork of the original ApprovalTests-Php, with less features :D
PHP Dockerfile
Branch: master
Clone or download
Pull request Compare This branch is 35 commits ahead, 1 commit behind mattcan:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
notes
src
tests
.editorconfig
.gitattributes
.gitignore
.travis.yml
Dockerfile
LICENSE
README.md
README.source.md
TODO.md
composer.json
composer.lock
phpunit.xml

README.md

Build Status

License

Table of Contents

ApprovalTests.PHP

Capturing Human Intelligence - ApprovalTests is an open source assertion/verification library to aid unit testing.

It is compatible with PHPUnit

What can it be used for?

Approval Tests can be used for verifying objects that require more than a simple assert. They also come prepackaged with utilities for some common scenarios including

  • HashMaps & Collections
  • Long Strings
  • Log Files
  • Xml
  • Html
  • Json (see features)

How to get it

It's on Packagist; search for 'approval-tests'. If you're using Composer, you can add it as follows:

composer req --dev approvals/approval-tests

Video Tutorials

You can watch a bunch of short videos on getting started and using ApprovalTests at YouTube. These cover approval tests in Java and .NET, but the same concepts apply.

Podcasts

If you prefer auditory learning, you might enjoy the following podcast (Note: Some of these talk about the .Net and Java side)

Examples

ApprovalTests eats it own dogfood, so the best examples are in the source code itself.

None the less, Here's a quick look at some Sample Code

class ApprovalTest extends TestCase
{
    public function testVerifyArray()
    {
        $list = ['zero', 'one', 'two', 'three', 'four', 'five'];
        Approvals::verifyList($list);
    }

snippet source

Will Produce a File

[0] -> zero
[1] -> one
[2] -> two
[3] -> three
[4] -> four
[5] -> five

snippet source

Simply rename this to ApprovalTest.testVerifyArray.approved.txt and the test will now pass.

Approved File Artifacts

The *.approved.* files must be checked into source your source control. This can be an issue with git as it will change the line endings. The suggested fix is to add *.approved.* binary to your .gitattributes

More Info

LICENSE

Apache 2.0 License

Questions?

twitter: @LlewellynFalco or @notthatjoshkel or #ApprovalTests

You can’t perform that action at this time.