A php function mocker.
PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src/Fumocker
tests
.gitignore
.gitmodules
.travis.yml
LICENSE
README.markdown
composer.json
phpunit.xml.dist

README.markdown

Fumocker Build Status

Are you wonna mock mail function?

<?php

class FooTestCase extends \PHPUnit_Framework_TestCase
{
    /**
     * @var Fumocker\Fumocker
     */
    protected $fumocker;

    public function setUp()
    {
        $this->fumocker = new \Fumocker\Fumocker;
    }

    public function tearDown()
    {
        $this->fumocker->cleanup();
    }

    public function testMailNeverCalled()
    {
        /**
         * @var $mock \PHPUnit_Framework_MockObject_MockObject
         */
        $mock = $this->fumocker->getMock('Namespace\Where\Tested\Class\Is', 'mail');
        $mock
            ->expects($this->never())
            ->method('mail')
        ;

        //test your Namespace\Where\Tested\Class\Is\Foo
    }


    public function testMailSendToAdminWithStatisticSubject()
    {
        $expectedEmailTo = 'admin@example.com';

        /**
         * @var $mock \PHPUnit_Framework_MockObject_MockObject
         */
        $mock = $this->fumocker->getMock('Namespace\Where\Tested\Class\Is', 'mail');
        $mock
            ->expects($this->once())
            ->method('mail')
            ->with(
                $this->equalTo($expectedEmailTo),
                $this->equalTo('Statisitic of money earned by a week')
            )
        ;

        //test your Namespace\Where\Tested\Class\Is\Foo
    }


    public function testRealMailSend()
    {
        /**
         * Dont do a mock and real function will be called
         */
    }
}