我正在嘗試使用Behat進行BDD測試。在Jenkins上運行構建時,我希望Behat在運行測試後打開PHP構建的Web服務器,然後關閉它。怎麼做?如何在運行測試之前啓動內置web服務器的PHP並在測試運行後關閉它
基本上我需要運行:
php -S localhost:8000
在我的測試中BDD我想:
/**
* @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);
}
但隨後運行時,它貝哈特被卡住,沒有任何消息。
您能夠從Jenkins運行的機器上手動運行它嗎? – Amey
嘗試返回false –
Behat上下文不適合啓動服務器。你不會嘗試以這種方式啓動apache,對吧? –