我來到這裏的原因,我與我的網頁表單的元素同樣的問題:什麼是由$履帶
轉身過濾把這個問題是在我app.php,當返回我終於正確地將它正確地編碼,所有的測試都正常工作 我會在這裏複製我的工作代碼(假定我view.php是基本的HTML代碼的PHP文件)
<?php
use Symfony\Component\HttpFoundation\Response;
require_once __DIR__ . '/path/to/autoload.php';
$app = new Silex\Application();
$app->get('/', function() {
ob_start();
require __DIR__ . '/path/to/view.php';
$response = ob_get_contents();
ob_end_clean();
return new Response($response);
});
return $app;
所以,在網/ index.php文件 ,我必須要求app.php並運行它:
<?php
$app = require_once __DIR__ . '/../app/app.php';
$app->run();
最後,在我的功能測試,我可以做如下:
<?php
require __DIR__ . '/path/to/autoload.php';
use Silex\WebTestCase;
class SampleTests extends WebTestCase
{
public function createApplication()
{
return require __DIR__ . '/path/to/app.php';
}
public function testSamplePage()
{
$client = static::createClient();
$crawler = $client->request('GET', '/');
$this->assertTrue($client->getResponse()->isSuccessful());
$this->assertCount(1, $crawler->filter('meta[charset="utf-8"]'));
}
}
我敢肯定這是不是做的最好的方式,但它是唯一一個我想通了。
設置此值的位置?在響應的正文中還是在標題中? – Matteo
響應的主體。 $ client-> request('GET','/');給我整個HTML文件,包括頭塊。 –
檢查html是否有效(所有標記都關閉...),否則抓取程序找不到任何東西(嘗試測試是否存在簡單表達式) – Matteo