有没有办法在字符串上使用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")'));
...
}
谢谢!
最佳答案
如果从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")'));
}
}