【发布时间】:2015-11-20 02:50:15
【问题描述】:
我是 Symfony 2 的 PHPUnit 新手。 我在向客户端发送表单数据时遇到问题。我有登录页面所需的登录详细信息。所以我将它作为数组发送。每次我运行测试时,我都会收到错误消息:
有 1 个错误:
1) MySite\UserBundle\Tests\Controller\LoginControllerTest::testUser InvalidArgumentException:当前节点列表为空。
我的测试代码是:
public function testUser()
{
$client = static::createClient(array(), array());
$crawler = $client->request('POST', '/login');
//submit login data
$form = $crawler->selectButton('submit')->form();
$data = array(
'_username' => 'abc@testSite.com',
'_password' => '123',
);
$client->submit($form,$data);
$client->followRedirect();
$this->assertTrue($client->getReponse()->isSuccessful());
//$this->assertTrue($crawler->filter('html:contains("login")'));
$this->assertTrue($crawler->filter('html:contains("Dashboard")')
->count() > 0);
}
我不知道错误是从哪里来的。 我只是想用用户名和密码验证用户。并检查他们是否已成功访问 Dashboard。 该用户是有效用户,可以从浏览器登录。 任何帮助将不胜感激!
提前谢谢你。
【问题讨论】:
-
测试用例的哪一行出错了?
-
$form = $crawler->selectButton('submit')->form();错误是:InvalidArgumentException:当前节点列表为空。
标签: symfony functional-testing phpunit