Ben varsayılan php istisna nesnesini genişleten bazı eski kodu test ediyorum. Bu kod, özel bir HTML hata iletisi yazdırır.
Ben test kod bir özel durum oluşturduğunda bunun yerine sadece bana tüm HTML mesajı veren temel mesajı yankı böyle bir şekilde bu durum nesnesi alay etmek istiyorum.
Bunu yapmak için bir yol anlamaya olamaz. Eğer açık durumlar için test edebilirsiniz gibi görünüyor, ama genel bir şekilde bir istisna davranışı değiştirmek değil, aynı zamanda bir varsayılan php işlevselliğini genişleten bir nesne kadar alay edemez. (Istisnalar dışında bu başka örnek düşünemiyorum ... ama durum böyle görünüyor)
Ben sorun, nereye alay nesnesi eklemek istiyorsunuz? Sanırım Eğer 'yeni atmak' ile müdahale edemez gibi görünüyor ve bu nesne yöntemi denir yerdir ....
Ya da bir şekilde tüm kodu için genel bir şekilde, istisna davranışı istediğiniz şekilde değiştirmek için mevcut phpunit durum işlevselliğini kullanabilirsiniz ... ama hacky ve kötü olurdu gibi bu görünüyor eğer ....
EDIT: Burada şeyleri daha net yapmak için bazı kod:
class FooTest extends PHPUnit_Framework_TestCase{
public function testBar(){
include '/path/to/file.php'; //generates exception
$this->assertTrue($baz);
}
}
...
//overridden exception class
class Foo_Exception extends ErrorException{
...
yani, vaka bazında bir durumda bunu yapmadan, bu overriden sınıf ile başa çıkmak için bir yol benim bir soru var? Ben istisna, özel durum neden sadece kod davranışlarını test değilim ne olur?