gpt4 book ai didi

php - 为什么 Codeception 的 PhpBrowser 不遵循 "Reload" header ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:47:52 25 4
gpt4 key购买 nike

这真实发生在我身上 CodeIgniter项目在 Ion Auth authentication library ,但为了清楚起见,我将其简化为最简单的形式。

脚本:

我的这一行脚本位于 http://localhost/~captbaritone/redirect/index.php:

<?php header("Refresh:0;url=https://google.com");¬

在我的浏览器中,它重定向到 Google.com。

测试:

为了测试它,我写了这个验收测试:

<?php
$I = new WebGuy($scenario);
$I->wantTo('Redirect to Google.com');
$I->amOnPage('/index.php');
$I->seeCurrentUrlEquals('https://www.google.com/');

我的 acceptance.suite.yml 看起来像这样:

class_name: WebGuy
modules:
enabled:
- PhpBrowser
- WebHelper
config:
PhpBrowser:
url: 'http://localhost/~captbaritone/redirect/'

结果:

Codeception PHP Testing Framework v1.7.1
Powered by PHPUnit 3.7.27 by Sebastian Bergmann.

Acceptance Tests (1) -----------------------------------------
Trying to redirect to google.com (RedirectCept.php) Fail
---------------------------------------------------------------


Time: 460 ms, Memory: 9.75Mb

There was 1 failure:

---------
1) Failed to redirect to google.com in RedirectCept.php
Sorry, I couldn't see current url equals "https://www.google.com/":
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'https://www.google.com/'
+'/~captbaritone/redirect/index.php'

Scenario Steps:
2. I see current url equals "https://www.google.com/"
1. I am on page "/index.php"

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

我的问题:

显然 PhpBrowser 没有遵守重定向。将重定向更改为位置 header ,允许测试通过,但我不想(不能)更改我的应用程序以适应测试套件。

这是 Codeception 中的错误吗?在 PhpBrowser 中? (我不太清楚一个从哪里开始,另一个从哪里开始,或者 PhpBrowser 是否甚至是一个单独的项目。)或者这可能是我不应该期望 headless 浏览器提供的功能?

我应该透露一下,这是我第一次使用测试套件。

最佳答案

这是在 Codeception 2.0 中修复的:

https://github.com/Codeception/Codeception/issues/625#issuecomment-33281671

我建议您升级并重试。

关于php - 为什么 Codeception 的 PhpBrowser 不遵循 "Reload" header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com