PHP özelliğinin nasıl test edileceğine dair bir çözüm bulunup bulunmadığını bilmek istiyorum.Birim testinin nasıl yapılacağı PHP özellikleri
Bu özelliği kullanan bir sınıfı test edebileceğimizi biliyorum. ama daha iyi yaklaşımlar olup olmadığını merak ediyordum. Önceden herhangi bir tavsiye :)
DÜZENLEME
Bir alternatif için
teşekkürler ben feryat göstermek için gidiyorum gibi deney sınıfında kendisinde taşıyıcılığının kullanmaktır.
Ancak `m (bu örnekte) özelliği, sınıf ve PHPUnit_Framework_TestCase arasında değil benzer bir yöntem adı vardır garantisi yoktur çünkü bu yaklaşım bu keskin:
Buradabir bir örnek özelliği:
trait IndexableTrait
{
/** @var int */
private $index;
/**
* @param $index
* @return $this
* @throw \InvalidArgumentException
*/
public function setIndex($index)
{
if (false === filter_var($index, FILTER_VALIDATE_INT)) {
throw new \InvalidArgumentException('$index must be integer.');
}
$this->index = $index;
return $this;
}
/**
* @return int|null
*/
public function getIndex()
{
return $this->index;
}
}
ve testi: bir simila kullanarak bir taşıyıcılığının test edebilirsiniz
class TheAboveTraitTest extends \PHPUnit_Framework_TestCase
{
use TheAboveTrait;
public function test_indexSetterAndGetter()
{
$this->setIndex(123);
$this->assertEquals(123, $this->getIndex());
}
public function test_indexIntValidation()
{
$this->setExpectedException(\Exception::class, '$index must be integer.');
$this->setIndex('bad index');
}
}
sen çalışmıyor hangi ile bunu denedim kodunu belirtin: Burada
belgelerinden örnektir. Bu, birinin size yardımcı olmasına yardımcı olur. –@AdamB, ben bir örnek kodu olan [ilk cevap] (http://stackoverflow.com/a/31083193/4960774) kendim yazdım. ama bir şey bozuk ya da çalışmıyor gibi değil, dikkat edin sadece ünite test özellikleri için iyi bir yöntem olup olmadığını bilmek istiyorum ve dolaylı olarak bu özelliği kullanan bir sınıfı test ederek değil. tanklar – Ali