【发布时间】:2015-09-02 00:47:47
【问题描述】:
我是使用 Symfony 2 进行 PHPUnit 测试的新手。
我正在尝试单击一个链接并测试它是否重定向到包含一些文本的页面。 我的代码是:
$client = static::createClient();
$crawler = $client->request('GET', '/Site');
$link = $crawler->filter('a:contains("Click for Report")')->eq(1)->link();
$crawler->$client->click($link);
$this->assertEquals(200, $client->getResponse()->getStatusCode());
$this->assertContains('Detail Report',$client->getResponse()->getContent());
每次我运行此测试时,都会出现错误提示:“InvalidArgumentException:当前节点列表为空。” 关于代码>>
$link = $crawler->filter('a:contains("Detail Report")')->eq(1)->link();
不知道为什么节点是空的。
任何帮助都将受到高度赞赏! 提前致谢。
【问题讨论】:
-
在做任何其他检查之前检查状态响应,所以在节点过滤操作之前移动
$this->assertEquals(200, $client->getResponse()->getStatusCode());行。如果响应良好,请在客户端响应中进行调查,看看die(var_dump( $client->getResponse()->getContent() ))会发生什么
标签: unit-testing symfony phpunit