Kodlayıcı kullanarak bir denetleyici işlevi için bir API sınama durumu yazmaya çalışıyorum ve denetleyici işlevine giden yolun doğru olarak değerlendirilmediği bir sorunla karşılaşıyorum ve Değerlendirme, benim durumumda olana bağlı olarak farklı görünüyor. Öyle benim denetleyicisi sınıfları bazı hata ayıklama ifadeleri eklediktenLaravel 5/Codeception doğru yönlendirilmiyor
Route::get('/', ['as' => 'home', 'uses' => '[email protected]']);
Route::get('register', ['as' => 'getRegister', 'uses' =>'[email protected]']);
Route::post('register', ['as' => 'postRegister', 'uses' => '[email protected]']);
: Bir routes.php dosyasını içeren bu rotalar var
use \ApiTester;
class CustomerRegisterCest
{
// tests
public function testGetRegister(ApiTester $I)
{
$I->sendGET('register');
$I->seeResponseCodeIs(200);
}
public function testPostRegister(ApiTester $I)
{
$I->sendPOST('register', [
// set the data in here
]);
$I->seeResponseCodeIs(200);
}
: Burada
bir kod benim test davadan örnek şu andaLog::debug('GET register'); // or GET index or POST register, etc
Ben Stripp var: ne yolları böyle, koşmak olsun görebilirsiniz SADECE hata ayıklama ifadelerinin dahil edilmesini sağlamak için denetleyici sınıflarımdaki her şeyi yazdım. o sendPOST ('kayıt' ...) o GET rotaya aslında yolları görünecek şekilde ...
GET register
GET index
: Ben yukarıdaki gibi test case çalıştırdığınızda
, aşağıdaki hata ayıklama çıktısını almak "/" için POST yolunun yerine "/" için. Test durumunun dışında her şey normal çalışıyor - Kayıt rotalarına POST yapabilirim, yönlendirme işe yarıyor gibi görünüyor, problem sadece bir kodek-test testinin içinde gözüküyor. Aynı işlev çağrısı içinde sendGET ve sendPOST yapıyorum ki ben böyle örneğin, test durumu değiştirirseniz
:
GET register
GET register
: Bu debug çıktısına bakın sonra
// tests
public function testPostRegister(ApiTester $I)
{
$I->sendGET('register');
$I->seeResponseCodeIs(200);
$I->sendPOST('register', [
// set the data in here
]);
$I->seeResponseCodeIs(200);
}
... böylece sendGET'i sendPOST ile aynı işleve ekleyerek, sendPOST davranışını değiştirdi, böylece artık dizin için GET rotası yerine kayıt için GET rotasına yönlendirir (ancak yine de rota olmaz doğru POST yoluna).
xdebug'i açmayı denedim ve xdebug çıktısından ne olup bittiğine dair hiçbir ipucunuz yok.
denetleyicisi POST kayıt rota işleme fonksiyonu böyle ilan edildi:
Sorununuz tam olarak nedir? –