2017-04-05 87 views
1

這是我的測試案例測試情況下刪除原始文件,同時通過測試的情況下上傳文件

public function testSelfieFileUpload() 
{ 
    $path = public_path().'/uploads/sample1.jpg'; 
    $name = 'sample1.jpg'; 
    $file = new UploadedFile($path, $name, 'image/png', filesize($path), null, true); 
    $response = $this->post($this->endpoint, ['file' => $file], $this->setHeaders()); 
    $response->assertStatus(200) 
     ->assertJsonFragment(array("status" => "success")); 
} 

但問題是,它是從刪除的文件夾,即sample1.jpg

幫助原始文件我出去了。我在這裏錯過了什麼嗎?雖然測試用例運行良好。

+0

您是否對這些文件使用** unset **? –

+0

什麼是未設置..?如果你的意思是刪除。那麼我不明確這樣做 – Dherya

+0

如果你想刪除存儲的文件,然後你必須使用PHP未設置功能刪除它 –

回答

0

當遇到同樣的問題時,在查看源代碼後,我找不到修復它的標誌。

由於我的解決方法是,我在運行測試時創建了一個副本,該副本被刪除但不再是問題。

$temporaryFilePath = $this->createTempFile($this->testFilePath); 
$file = new \Illuminate\Http\UploadedFile($path, $name, $mime, filesize($path), null, true); 
//do your test logic 

... 

private function createTempFile($path) { 

    $tempFilePath = $this->basePath . 'temp.xlsx'; 
    copy($path, $tempFilePath); 

    return $tempFilePath; 
} 

您可能需要根據自己的需要進行優化。

相關問題