2

我的问题与 Symfony2 中某些应用程序的测试有关。我使用 Behat 和 Mink 编写测试,但注册系统的测试存在一些问题。

我想在用户提交注册表后查看电子邮件,然后点击此电子邮件中的激活链接。

我找到了一个关于电子邮件测试的简短教程:http:
//docs.behat.org/cookbook/using_the_profiler_with_minkbundle.html

本教程中的解决方案只有在 symfony 的配置文件中将“intercept_redirects”设置为“true”时才有效,但我已经有一些测试需要将此变量保留为“false”,所以我的问题是......是否可能临时更改此值,仅用于一个测试,还是我必须将此值更改为“true”,然后更新所有测试?

您如何测试您的注册系统,以及如何为它们编写测试?

4

1 回答 1

1

尝试使用CommonContexts中的MinkRedirectContext。它允许您停止场景的自动重定向并检查 URL:

Given I do not follow redirects
 When I ...
 Then I should be redirected to "/thank-you"

您也可以自己调用followRedirects()手动完成:

$this->getSession()->getDriver()->getClient()->followRedirects(false);
于 2012-08-02T08:26:40.733 回答