bu kodu düşünün formda herhangi bir şekilde (buna bir alan eklemek gibi), talebin siyah-h olmasına neden olur OLED.CakePHP Denetleyici Testi
Testi Kod
<?php
class UsersControllerTest extends ControllerTestCase {
public function testExamplePostValidData() {
$this->Controller = $this->generate('Users', array(
'components' => array(
'Security'
)
));
$data = array(
'User' => array(
'name' => 'John Doe'
)
);
$this->testAction('/users/example', array('data' => $data, 'method' => 'post'));
$this->assertTrue($this->vars['some_var']);
}
public function testExamplePostInvalidData() {
$this->Controller = $this->generate('Users', array(
'components' => array(
'Security'
)
));
$data = array(
'User' => array(
'name' => 'John Doe',
'some_field' => 'The existence of this should cause the request to be black-holed.'
)
);
$this->testAction('/users/example', array('data' => $data, 'method' => 'post'));
$this->assertTrue($this->vars['some_var']);
}
}
testExamplePostInvalidData
çünkü $data
dizide olmak some_field
arasında başarısız gereken ikinci testi, ancak geçirir: Bunu test etmek isterim! Neyi yanlış yapıyorum?
Bu cevap beni düşündürdü Görünümün bir GET'de ne döndüğünü kontrol etme ve düzenlenebilir olmaması gereken alanları içerip içermediğini görme olasılığı. Ardından, Güvenlik bileşeninin etkinleştirildiğini bilerek, güvende olduğumu biliyorum. Ama bence testim hala mantıklı. Çünkü testler, uygulamanızın ne olduğu umurunda değil; Testler sadece sonuçlara dikkat eder. Bu nedenle, düzenleme alanının düzenlenememesi gereken sonuçlar, Güvenlik bileşeninden üretilmiş olsun ya da olmasın (testin umurunda değil) bir hatayla sonuçlanmalıdır. Ama bence bu cevap yeterli. Teşekkür ederim! – Nick