目前,我们有一个使用代码欺骗2.0.16构建的大型接受套件。我们想升级到代码欺骗2.2.5。然而,在安装了Codec0019 2.2.5(via phar)之后,我们根本无法运行我们的测试套件。
我们收到的错误是(底部的其他详细信息):
无法找到并加载[Codeception\Exception\ConfigurationException]模块WebHelper
显然,新版本的加载更改会影响我们的套件。
我已经搜索了迁移说明以帮助我们进行此升级,但没有看到任何迁移说明。
附加细节
Codeception项目配置
注意:在测试和更改代码的几个部分后,我注意到主要问题与名称空间有关。正如您在下面所看到的,我们正在使用一个名为“SM”的名称空间,以及该操作系统如何导致问题。
codeception.yml
namespace: SM
paths:
tests: tests
log: tests/_log
data: tests/_data
helpers: tests/_helpers
html" target="_blank">settings:
bootstrap: _bootstrap.php
suite_class: \PHPUnit_Framework_TestSuite
colors: true
memory_limit: 1024M
log: true
strict_xml: true
modules:
config:
Db:
dsn: 'mysql:host=xxxxxxxxxxxx;dbname=<DB_NAME>'
user: 'USER'
password: '********'
dump: tests/_data/dump.sql
populate: false
cleanup : false
验收套件配置
class_name: WebGuy
modules:
enabled:
- WebDriver
- WebHelper
- SistemWSClient
- TestingSupportWSClient
- Db
- TempFileManager
- Asserts
config:
WebDriver:
url: 'http://xxxxxxxxxxxxxxxxxx/codeception'
browser : firefox
host: xxxxxxxxxxxxx
port: 4444
wait: 0
restart: true
capabilities:
unexpectedAlertBehaviour: 'accept'
SistemWSClient:
url: xxxxxxx
TestingSupportWSClient:
url: 'http://x/codeception/rest.php'
Db:
dsn: 'mysql:host=xx;port=3306;dbname=x'
user: 'xxxxxxx'
password: 'xxxxxxx'
dump: 'some/dump/file'
populate: false
cleanup: false
注意事项:
a)我在测试/_helpers/WebHelper.php顶部添加了命名空间SM(它不起作用)
b)我也试过这个:(不管用)
modules:
enabled:
- \WebHelper (or \SM\WebHelper or any other combination)
c) 我还从codeception的站点安装了一个清理过的codeception版本:
相应地添加了“namespace SM;”和Helpers,我得到了相同的错误,在本例中:
助手\无法找到并加载验收
d) 我还尝试使用codeception的“addnamespace”命令,但没有成功
任何想法都将不胜感激。
谢谢
我的案例中的错误提到了另一个文件,但是原因和解决方案可能是相同的。
经过几个小时的调试和搜索,我至少找到了问题的答案:http://phptest.club/t/class-helper-acceptance-does-not-exist/808
在我的例子中,我的主要项目的.gitignore中有一行.*
。因此,codeception目录尚未提交,特别是包含请求文件的_support目录。
从我的. gitignore中删除_*
行并提交和拉取文件,然后修复了问题。
希望这有帮助。
在Codeception中,必须构建“助手”。尝试发出以下命令:
codecept build
然后再运行一次。
在OpenFOAM中,存在一个函数,其名称为exp,表示数学中的幂操作。同时,C++本身也可以进行这个计算,并且函数名称也为exp。这会导致调用的时候,编译器并不知道应该调用OpenFOAM的exp还是C++本身的exp。一种方法是将其中一个exp函数进行改名,比如将OpenFOAM中的exp改成expFoam。但还有更简单的方式。 名称空间专门用于解决上面的问题,它可作为附加信息来区分不同库中相
我只是用MVVM轻型工具包编写一些培训窗口项目。当MVVM Light引用添加到项目中时,下面的资源被自动添加到app.xml中 不幸的是,它不起作用,即由于以下错误,无法构建/编译项目: 我找到了几种针对此问题的常见解决方案(例如:更改解决方案平台、清理、重建、重新启动Visual Studio等),但它们并没有改变什么。创建一个新项目也没有帮助。 有没有其他办法让它起作用?我使用Visual
如上所述,我的XSL中只定义了一个命名空间,如下所示 xml: xsi="w3.org/2001/XMLSchema-instance" 但是,我的输出XML有2个命名空间,如下所示 xsi="w3.org/2001/XMLSchema-instance"xmlns: mea="ibm.com/maximo" 我可以摆脱xmlns: mea="ibm.com/maximo"
我对C++不是很熟悉,这是我第一次使用的不仅仅是名称空间std。下面的有什么区别? VS 在这两个之后,我现在似乎可以创建一个MyClass对象了。一种方式比另一种好吗?另外,如果我都不这样做,我还可以通过每次需要时在MyNamespace::MyClass之前附加MyClass来引用MyClass吗? 接下来,如果我使用第二个选项转发declare,我还需要吗?在我(不是很好)的理解中,在C++
问题内容: 想知道是否有人在使用新功能通过PHP 5.3对类进行命名空间时是否遇到了此问题。 我正在使用单独的类来生成动态类调用,以在应用程序中定义用户类型。基本上,类定义器采用类型的整数表示形式并解释它们,返回一个包含要用作该用户模型的类名的字符串。 我在全局范围内定义了具有该名称的用户类型的对象模型,但是在Editor名称空间中,该用户的编辑器具有另一个名称相同的对象。由于某些原因,PHP不允
问题内容: 经常看到com。*软件包名称空间。“ com”是什么意思?谢谢。 问题答案: 包的命名约定在JLS中指定。这是相关的代码段(本节中还有很多内容): [JLS 7.7唯一程序包名称](http://java.sun.com/docs/books/jls/third_edition/html/packages.html#7.7) 您首先要拥有(或属于拥有)互联网域名的组织,从而形成唯一的软