/ / PHPUnit test cesty pre sťahovanie súborov v Symfony2 - php, symfony, phpunit, funkčné testovanie

PHPUnit test na stiahnutie súborov v Symfony2 - php, symfony, phpunit, funkčné testovanie

Napísal som test na zistenie nesprávnych / mŕtvych adries URL v mojej aplikácii Symfony2.

Používam funkčné testy, ako sa navrhuje v http://symfony.com/doc/current/book/testing.html

Test otvorí cestu, skontroluje všetko

    <a...></a>

a potom vytvorí požiadavku na tieto odkazy:

    $client = (new ClientProvider())->getClient();
$crawler = $client->request("GET", $route);
$linkList = $crawler->filter("a");
foreach ($linkList as $link) {
$url = $link->getAttribute("href");
$crawler = $client->request("GET", $link->getAttribute("href"));
//... some assertion
}

Problém je v tom, že niektoré a-značky obsahujú cesty k súborom, napr. "/Files/sample.pdf". (filepath je web / súbory / ...)

Chcem skontrolovať, či tieto súbory existujú, ale z PHPUnit dostávam chybu 404.

Predpokladám, že je to preto, že phpunit nepoužíva webový server, ale pracuje priamo s aplikáciou, a preto môže „pristupovať k súborom, ktoré sú pod„ web / files / ... “.

Je to správne alebo existuje spôsob, ako to otestovať?

odpovede:

2 pre odpoveď č. 1

Jeho správna phpunit vám nebude vyhovovaťwebový server, čo znamená, že sa neprebieha žiadny súbor na prepisovanie alebo poskytovanie. Čo môžete urobiť, je regexovať adresu URL a hľadať vzor súboru, ak sa zistí, že na testovanie súborov používate inú metódu, ako je napríklad metóda, ktorá sa vyhľadá vo vašom verejnom priečinku.

Ďalšou možnosťou je vykonať akciu na kontrolu distribúcie súborov, takže máte väčšiu kontrolu a kontrolu, ale vyžaduje si zmenu aplikácie.