eme*_*his 5 php phpunit cakephp cakephp-3.0
我正在尝试为需要附加CSV文件的发布请求的端点编写测试.我知道要模拟这样的帖子请求:
$this->post('/foo/bar');
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何添加文件数据.我尝试手动设置$_FILES数组,但它不起作用...
$_FILES = [
'csvfile' => [
'tmp_name' => '/home/path/to/tests/Fixture/csv/test.csv',
'name' => 'test.csv',
'type' => 'text/csv',
'size' => 335057,
'error' => 0,
],
];
$this->post('/foo/bar');
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
据我所知,CakePHP 神奇地组合了$_FILES、$_POST等的内容,因此我们可以从 访问每个内容$this->request->data[...]。您可以使用可选的第二个参数将信息传递给该数据数组:
$data = [
'csvfile' => [
'tmp_name' => '/home/path/to/tests/Fixture/csv/test.csv',
'name' => 'test.csv',
'type' => 'text/csv',
'size' => 45,
'error' => 0,
],
];
$this->post('/foo/bar', $data);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1018 次 |
| 最近记录: |