Codeception——不同环境下的不同结果

Codeception - Different Results in Different Envionments

我正在使用 Codeception 运行 对代码库进行一些验收测试。我有一个非常简单的测试配置:

class_name: WebGuy
modules:
    enabled: [PhpBrowser, WebHelper, Db]

当我 运行 在 OSX 上的本地 MAMP 中进行这些测试时,所有测试都正常运行。

我现在已经在 运行ning CentOS 的 Rackspace 上创建了一个临时服务器。在 运行 使用相同的测试套件时,我 运行 遇到了一些主要与 运行 宁 $I->click('something') 有关的错误。在失败的情况下,要单击的项目是一个有点通用的 <a> 标签,没有 类 或 ID。因此,我一直用它的文字来指代它:

<a href='http://google.com'>google</a>
$I->click('google');

这似乎在本地运行良好,但是,现在在暂存时失败了。

我想知道造成这种差异的因素有哪些?暂存 运行s 与我相同的 PHP 版本。但是,我确实注意到 CURL 的版本略有不同 运行ning.

将此归因于用户错误:在 Codception 中,当测试在特定断言处失败时,重要的是要记住与该步骤相关的任何事情都可能导致问题,而不仅仅是被测试的显式方面。

在我的例子中,如果在插入查询后测试无法断言特定行存在于数据库中,则它可能失败,因为存在文件上传组件并且该目录的权限不够开放。