首页 > 解决方案 > 使用 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']));
    }

标签: laraveltestingcodeception

解决方案


MyResource::withoutWrapping()您必须在该测试方法的末尾或_after该 Cest 类的方法中调用相反的。

MyResource::withWrapping()方法吗?


推荐阅读