在代码接受验收助手中动态执行DB转储

时间:2015-01-31 16:32:26

标签: php testing codeception

我想为不同的代码测试执行不同的转储文件。现在正在shell_exec _before AcceptanceHelper方法中- tests/acceptance/application/<contains alot of tests related to application> - tests/acceptance/location/<contains alot of tests related to location> 命令执行Db转储文件,该方法在每次验收测试之前执行。像建议here之类的东西。应用程序中有很多测试。所以,流程如下

/application/

两个测试目录/location/AcceptanceHelper都使用相同的/application/。所以,我想要的是/location/目录内的所有测试的不同可执行转储文件,而不是application_dump.sql测试。

想想Get current running test name之类的东西。对于/application/目录中的所有测试,我们说location_dump.sql /location/目录内的所有测试都是P.S: Using a different suite for application and location is ideally not what i am looking for.

{{1}}

1 个答案:

答案 0 :(得分:0)

只是为了帮助那里的人。由于没有正确的方法来实现这一点,因为Get current running test name似乎仍处于开发阶段。

所以,这就是我设法解决问题的方法。我已将shell_exec命令移出_before的{​​{1}}方法,并在AcceptanceHelper内创建了一个新的公共方法,可以通过每个中的actor类AcceptanceHelper进行访问。每次验收测试都是这样的

$I

使用这种方法的唯一缺点是我必须在每次测试之前手动执行相应的$I->executeDbDump('application_dump.sql'); $I->executeDbDump('location_dump.sql'); 函数。但现在似乎仍然是解决这个问题的最佳方法。