Próbuję użyć Behat do testowania BDD. Kiedy pracuję nad Jenkinsem, chciałbym, żeby Behat otworzył kompilację PHP na serwerze WWW, a następnie zamknął ją po uruchomieniu testów. Jak to zrobić?Jak uruchomić serwer PHP wbudowany przed uruchomieniem testu i zamknąć go po uruchomieniu testu
Zasadniczo trzeba uruchomić:
php -S localhost:8000
W moich testów BDD próbowałem:
/**
* @Given /^I call "([^"]*)" with email and password$/
*/
public function iCallWithPostData($uri)
{
echo exec('php -S localhost:8000');
$client = new Guzzle\Service\Client();
$request = $client->post('http://localhost:8000' . $uri, array(), '{"email":"a","password":"a"}')->send();
$this->response = $request->getBody(true);
}
Ale wtedy, gdy uruchomiony Behat utknie bez żadnego komunikatu.
Czy jesteś w stanie uruchomić go ręcznie z maszyny, której używa Jenkins? – Amey
try return false –
Kontekst Behat nie jest właściwym miejscem do uruchomienia serwera. Nie próbowałbyś uruchomić Apache w ten sposób, prawda? –