我正在编写一个具有基本方法的基本存储库,以便从其他存储库进行扩展,例如:
BaseRepository
├─ UserRepository
├─ PostRepository
└─ CommentRepository
我希望使用自定义测试模型来测试我的BaseRepository
,而不是使用实际的应用程序模型(例如User
、Post
等),因此我需要在迁移时创建此自定义模型,并仅在测试期间使用它们,但我更喜欢将这些文件放入tests
文件夹中,以保持结构的整洁。
有没有办法告诉laravel只在测试期间加载app/database/migrations
中的其他迁移?
更新#1:为什么
我想隔离测试我的BaseRepository
类,所以我不会在存储库测试中使用我的任何应用程序模型,因为对这些模型的可能/将来的修改/更新可能会导致存储库测试中的错误,例如,弃用和随后从代码库中删除该模型。
这就是为什么我更喜欢使用一个定制的模型,这个模型只是为了在我的存储库测试中使用。
发布于 2021-04-01 13:09:32
我发现在每次测试之前/之后,我只能在setUp
/tearDown
方法的测试类中使用Schema
facade为我的自定义模型创建/删除表,我实际上不需要迁移文件。
环顾四周,我发现了这个laravel包lazychaser/laravel-nestedset:它创建了一种新型的递归关系,并包含了一个用虚拟模型测试的特征,就像said一样创建了它的表。
https://stackoverflow.com/questions/66902775
复制相似问题