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:
我想声明一个 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: