gpt4 book ai didi

php - 使用 Behat/Mink 和 Behat Laravel Extension 测试 Multi-Tenancy Laravel 应用程序

转载 作者:可可西里 更新时间:2023-10-31 23:47:21 25 4
gpt4 key购买 nike

我正在构建一个 Multi-Tenancy SaaS 应用程序,我正在尝试使用 Mink 和 Behat Laravel Extension 为 Behat 编写测试。

当您注册一个帐户时,您会在网站 {account}.tenancy.dev 上获得自己的子域

我的 behat.yml 文件如下所示:

default:
extensions:
Laracasts\Behat:
# env_path: .env.behat
Behat\MinkExtension:
default_session: laravel
base_url: http://tenancy.dev
laravel: ~

我一开始就遇到了问题,因为当我尝试测试我的注册流程时,我收到一个 404 错误测试,表明新的子域可以访问,所有数据都已正确保存,手动测试该过程是否有效,并且子域路由有效。

我想知道是否有任何方法可以使用 Behat 来执行此操作,以及我将如何设置 Behat/Mink 以使用通配符子域来测试 SaaS 应用程序?

我正在 Homestead VM 中运行测试。

最佳答案

base_url: http://tenancy.dev 配置用于在您使用 mink 步骤(即“/home”)中使用相对路径 URL 时生成完全限定的域 URL。

当您想要访问与 base_url 中指定的域不同的域时,您所要做的就是在您的步骤中使用完全限定的域 URL,例如“http://test.tenancy.dev/fully/qualified”。

因此,请使用 base_url 配置将您将在大部分步骤中使用的内容设置为相对 url,然后明确指定异常(exception)的完整域。


当我创建一个名为 foo 的帐户时
并获取“http://foo.tenancy.dev/ping”
然后我得到一个 200 响应代码

当我回到家”
然后响应包含“注册”

如果您的大部分测试将针对子域,请将其设置为您的 base_url 并在必要时明确指定您的顶级域。

关于php - 使用 Behat/Mink 和 Behat Laravel Extension 测试 Multi-Tenancy Laravel 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29849437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com