laravel - 使用 Laravel5 模块进行 Codeception api 测试:在单个 JsonResource 上应用 withoutWrapping() 会影响其他测试
问题描述
我在几个 Cest 文件中使用 Laravel5 模块进行了 codeception api 测试。如果我运行所有 api 测试codecept run api
。在包含MyResource::withoutWrapping();
影响其他 Cest 文件上的其他 api 响应的 api 资源之后进行测试(它从 api 响应中删除“数据”包装)。是否有可能避免这种行为?我不想申请withoutWrapping()
其他 api 资源,之后...
# api.suite.yml
class_name: ApiTester
modules:
enabled:
- REST:
url: /api
depends: Laravel5
- \Helper\Api
- Asserts
- Laravel5:
environment_file: .env.testing
// Controller Api endpoint
public function show(Event $event)
{
EventResource::withoutWrapping();
return new EventResource($event->load([
'eventRoomPrices', 'hotel.availableRoomCategories']));
}
解决方案
MyResource::withoutWrapping()
您必须在该测试方法的末尾或_after
该 Cest 类的方法中调用相反的。
有MyResource::withWrapping()
方法吗?
推荐阅读
- charts - 在 pine 脚本中的一系列条形中找到顶部和底部
- android-studio - 什么是 Android App Bundle (.aab) 文件 MIME 类型?
- mysql - mysql时添加case的多个结果
- css - 如何在 stenciljs 中使用 sass @use?已知问题?
- azure - 来自 Azure Application Insights 警报通知的逻辑应用 HTTP 请求 JSON
- javascript - Javascript 映射数组中的对象数组
- javascript - 使用数组查询数据库的更好方法
- angularjs - 将 keydown 事件定位到 angularJS 自定义指令
- neo4j - Neo4j-graphql-js -- 有没有办法检查可选参数是否存在或不为空?
- c++ - 文件 I/O 分配