如何测试多个客户端的交互

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.0,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

如何测试多个客户端的交互

如果你需要模拟不同客户端之间的交互(比如聊天),创建几个客户端:

1 2 3 4 5 6 7 8 9 10
/ /……哈利静态::createClient ();莎莉静态::createClient ();哈利->请求(“职位”' /说/莎莉你好');莎莉->请求(“得到”' /消息');->assertequal(响应::HTTP_CREATED,哈利->getResponse ()->getStatusCode ());->assertRegExp (“你好/”莎莉->getResponse ()->getContent ());

除非您的代码维护全局状态,或者它依赖于具有某种全局状态的第三方库,否则这种方法是有效的。在这种情况下,你可以隔离你的客户:

12 3 4 5 6 7 8 9 10 11 12 13
/ /……哈利静态::createClient ();莎莉静态::createClient ();哈利->使();莎莉->使();哈利->请求(“职位”' /说/莎莉你好');莎莉->请求(“得到”' /消息');->assertequal(响应::HTTP_CREATED,哈利->getResponse ()->getStatusCode ());->assertRegExp (“你好/”莎莉->getResponse ()->getContent ());

绝缘客户端在一个专用的干净的PHP进程中透明地执行它们的请求,从而避免了任何副作用。

提示

由于隔离客户机速度较慢,您可以将一个客户机保留在主进程中,并隔离其他客户机。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。