Birim test (PHPUnit) in trigger_error (... E_USER_WARNING) sonra kod çalıştırmak nasıl?

0 Cevap php

Bu gibi bir kod var:

class ToBeTested
{
  function simpleMethod($param)
  {
    if(0 === $param)
    {
      trigger_error("Param is 0!", E_USER_WARNING);
      return false;
    }

    return true;
  }
}

ve bu kodu test:

class SimpleTest extends PHPUnit_Framework_TestCase
{
   function testSimpleMethod()
   {
     $toBeTestedObject = new ToBeTested();
     $this->assertFalse($toBeTestedObject->simpleMethod(0));
   }
}

Hata tetiklenir eğer ($this->setExpectedException()), sınamak için biliyorum, ama ben trigger_error() fonksiyonundan sonra kodu çalıştırmak için nasıl bilmiyorum.

PHPUnit yılında E_USER_WARNING (devre dışı olabilir) PHPUnit_Framework_Error_Warning dönüştürülür değil, fakat PHPUnit_Framework_Error (ki devre dışı edilemez) dönüştürülür unutmayın.

0 Cevap