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

时间:2015-03-02 16:09:04

标签: php testing codeception acceptance-testing

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

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

当我在OSX上在MAMP中本地运行它们时,所有测试都能正常运行。

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

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

这似乎在本地工作正常,但现在失败了。

我想知道哪些因素可能导致这种差异?暂存运行与我相同的PHP版本。但是,我注意到CURL的版本略有不同。

1 个答案:

答案 0 :(得分:0)

将此问题归结为用户错误:在Codception中,当测试在特定断言中失败时,记住与该步骤相关联的任何内容都可能导致问题,而不仅仅是正在测试的显式方面,这一点非常重要。

在我的情况下,如果测试未能在插入查询后断言数据库中存在某个行,则它可能已失败,因为存在文件上载组件并且该目录的权限不够开放。