PHPSnippets

by @SenseException
Code
<?php

/**
 * Two tests testing a possible exception.
 * Both are testing the same case.
 *
 * The exception test case with 
 * second parameter 0 isn't even enough.
 */
class DivideTest extends PHPUnit_Framework_TestCase
{
    
/**
     * using method
     */
    
public function testCalcException()
    {
        
$this->setExpectedException('\InvalidArgumentException');
        
$divide = new Divide();
        
$divide->calc(10);
    }
    
    
/**
     * using annotation
     *
     * @expectedException \InvalidArgumentException
     */
    
public function testCalcExceptionAnnotation()
    {
        
$divide = new Divide();
        
$divide->calc(10);
    }
}

class 
Divide
{
    public function 
calc($dividend$divisor)
    {
        if (
== $divisor) {
            throw new 
InvalidArgumentException('you really want to divide
                with 0? Are you serious?'
);
        }
        
        return 
$dividend $divisor;
    }
}
Result
Time: 78 ms, Memory: 6.75Mb

OK (2 tests, 0 assertions)
More Snippets
Version PHP 5.5.18 | Home