Tôi đang cố gắng sử dụng Behat cho thử nghiệm BDD. Khi chạy một build trên Jenkins, tôi muốn Behat mở PHP build trong web server và sau đó đóng nó lại sau khi chạy test. Làm thế nào để làm điều đó?Làm thế nào để bắt đầu một PHP được xây dựng trong máy chủ web trước khi chạy một thử nghiệm và đóng nó sau khi thử nghiệm đã chạy
Về cơ bản tôi cần phải chạy:
php -S localhost:8000
Trong các thử nghiệm BDD của tôi, tôi đã cố gắng:
/**
* @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);
}
Nhưng sau đó khi chạy Behat nó bị mắc kẹt mà không cần bất kỳ tin nhắn.
bạn có thể chạy thủ công từ máy mà Jenkins đang chạy không? – Amey
try return false –
Ngữ cảnh Behat không phải là nơi thích hợp để khởi động máy chủ. Bạn sẽ không cố gắng để bắt đầu apache theo cách này, phải không? –