我正在使用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
的版本略有不同。
答案 0 :(得分:0)
将此问题归结为用户错误:在Codception中,当测试在特定断言中失败时,记住与该步骤相关联的任何内容都可能导致问题,而不仅仅是正在测试的显式方面,这一点非常重要。
在我的情况下,如果测试未能在插入查询后断言数据库中存在某个行,则它可能已失败,因为存在文件上载组件并且该目录的权限不够开放。