Codeception 内容处理断言文件

Codeception Content-disposition assert file

我想声明一个 xls 文件。我回来了:

"attachment; filename="testify.xlsx""

如何对文件进行断言?

我有来自 $_SERVER['TMPDIR'] 的 tmp 路径和一个干净的文件名,但目录中没有文件。

没有 built-in 方法可用于此目的,您必须自己编写 helper

如果您使用的是 PhpBrowser 或框架模块之一,它们有两个有用的隐藏方法: _getResponseContent returns 页面(或文件)内容,
_savePageSource 将其保存到文件。

因此您的辅助方法将如下所示:

function seeXlsFileIsValid()
{
    $fileContent = $this->getModule('PhpBrowser)->_getResponseContent();
    $this->assertTrue(..., 'returned xls file is not valid');
}

如果要断言响应 headers,请从 REST module.

复制 seeHttpHeader 方法

codeception.yml

actor: Tester
paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    support: tests/_support
    envs: tests/_envs
settings:
    bootstrap: _bootstrap.php
    colors: true
    memory_limit: 1024M
    shuffle: true
extensions:
    enabled:
        - Codeception\Extension\RunFailed
coverage:
  enabled: true
  c3_url: 'http://www-dev.testify.com:8080/c3.php'
  remote: false
  whitelist:
      include:
          - _php/*

api.suite.yml

class_name: ApiTester
modules:
    enabled:
        - PhpBrowser:
            url: http://www-dev.testify.com:8080
            clear_cookies: false
            restart: false
            curl:
              CURLOPT_RETURNTRANSFER: true
        - REST:
            url: http://www-dev.testify.com:8080
            depends: PhpBrowser
            part: Json
        - Asserts
        - Helper\Api
        - Db:
            dsn: 'sqlite:tests/_output/database.sqlite'
            user: ''
            password: ''
env:
    fast: