WebTestCase:使用爬虫来测试字符串

时间:2012-07-03 14:02:44

标签: php testing symfony functional-testing web-crawler

有没有办法在字符串上使用WebTestCase的Crawler? 通常情况下,如果我想使用WebTestCase进行测试,我会使用客户端执行以下操作:

public function testInitialPage()
{
    $client = $this->createClient();
    $crawler = $client->request('GET', '/');

    $this->assertCount(1, $crawler->filter('h1:contains("Contact us")'));
    ...
}

现在,我想知道,是否有可能以某种方式在字符串上使用爬虫,所以它将如下所示:

public function testInitialPage()
{
    ...
    $crawler = Crawler::createCrawler("<h1>Contact us</h1>");
    $this->assertCount(1, $crawler->filter('h1:contains("Contact us")'));
    ...
}

谢谢!

1 个答案:

答案 0 :(得分:0)

如果从DomCrawler组件导入Crawler类,则可以在测试中使用它。

namespace Acme\Tests;

//...
use Symfony\Component\DomCrawler\Crawler;

class ContactTest extends WebTestCase
{
    public function testHeadlineOnContactUs()
    {
        $crawler = new Crawler("<h1>Contact us</h1>");
        $this->assertCount(1, $crawler->filter('h1:contains("Contact us")'));
    }
}