Codeception Content-disposition断言文件

时间:2016-04-22 10:09:35

标签: codeception

我想声明一个xls文件。我得到了回复:

"attachment; filename="testify.xlsx""

如何对文件进行断言?

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

2 个答案:

答案 0 :(得分:0)

没有用于此目的的内置方法,您必须自己编写helper

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

所以你的帮助方法看起来像这样:

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

如果要声明响应标头,请从REST module复制seeHttpHeader方法。

答案 1 :(得分:0)

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: