单击在phpunit上提交表单的复选框

单击在phpunit上提交表单的复选框,php,symfony,phpunit,twig,Php,Symfony,Phpunit,Twig,我有一个用户可以从中取消订阅新闻稿。这是一个简单的复选框,用于在单击时提交表单: <form action="{{ path('fos_user_newsletter') }}" method="POST" class="fos_user_newsletter" name="fos_user_newsletter"> <input type="checkbox" name="newsletterSub" value="newsletter" {% if u

我有一个用户可以从中取消订阅新闻稿。这是一个简单的复选框,用于在单击时提交表单:

     <form action="{{ path('fos_user_newsletter') }}"  method="POST" class="fos_user_newsletter" name="fos_user_newsletter">

    <input type="checkbox" name="newsletterSub" value="newsletter" {% if user.newsletterEnabled == 1 %}
    checked
{% endif %} onclick="this.form.submit();"> Subscribe to Newsletter

看看这个问题:它可能会提供你想要的答案。它对我不起作用,我遇到了另一个错误:LogicException:无法在html标记上提交。我在上面添加了测试代码。我不确定如何使用phpunit测试html表单,因为我知道没有简单的方法来指定键盘输入。这个答案可能有用:
        // Check if Newsletter form exists!
    $this->assertTrue($crawler->filter('html:contains("Subscribe to Newsletter")')->count() > 0);
    //var_dump($client->getResponse()->getContent());
    $form = $crawler->form();
    $form['newsletterSub']->tick();