【问题标题】:Tenancy - Cannot declare class CreateUsersTable, because the name is already in useTenancy - 无法声明类 CreateUsersTable,因为该名称已在使用中
【发布时间】:2021-09-01 09:20:51
【问题描述】:

我正在尝试通过 PHP 单元测试来测试租赁功能,但出现了错误。

Fatal error: Cannot declare class CreateUsersTable, because the name is already in use in /var/www/database/migrations/tenant/2014_10_12_000000_create_users_table.php on line 54

我已经对迁移进行了测试,但是在单元测试中运行时会有所不同。 此错误仅在创建租户时出现。

有没有办法解决这个问题?

PHP7+ 租约 3

【问题讨论】:

  • 给你的新类 CreateUsersTable 一个(不同的)命名空间。它就是为此目的而设计的。
  • 看起来,它只适用于 phpunit 测试,但是当您运行应用程序或创建不在 unittest 中的租户时,它会导致错误 Some 类不存在。

标签: php laravel unit-testing multi-tenant


【解决方案1】:

我遇到了同样的问题,因为之前有一个课程。

因此,可以通过选择正确的类并删除其中一个类来解决。

【讨论】:

  • 不,总共存在 2 个类,因为迁移被复制到租户文件夹中,这个错误只发生在单元测试中:)
【解决方案2】:

迁移和创建租户同时出现这个错误,所以我的解决方案是,先创建迁移,然后进行单元测试。

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 2020-06-21
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    相关资源
    最近更新 更多