我正在使用Codeception来测试我的网络服务器的API端点。我想执行一些压力测试,因此,在一个名为'StressCest'的Cest文件中,我编写了一些测试来执行对我服务器最常用端点的几次调用。
我想(并行)启动此Cest文件的大量多个实例。
对于这个建议,我使用过Robo。我已经在里面设置了一个带有“parallelRun()”(https://codeception.com/docs/12-ParallelExecution)方法的Robo配置文件(RoboFile.php)。
public function parallelRun()
{
$parallel = $this->taskParallelExec();
for ($i = 1; $i <= 1000; $i++) {
$parallel->process(
$this->taskCodecept()
->suite('api')
->test('StressCest')
);
}
return $parallel->run();
}
这产生了1000个StressCest的并行进程。当我执行控制台命令robo parallel:run
时出现此错误:
警告:proc_open():无法创建管道第337行的/../vendor/symfony/process/Process.php中打开的文件过多[错误]无法启动新进程。错误:proc_open():无法在/../vendor/symfony/process/Process.php:337中创建管道太多打开的文件
是否有一些方法可以绕过此错误或使用CestFile执行并行压力测试的其他方法?
提前感谢您的回复