2017-04-18 4 views
0

ファイルがWebアプリケーションからダウンロードされる場所でテストを実行しようとしています。しかし、私が実行している問題は、ファイルがすでに存在し、別のものをダウンロードする前にそれを処理して削除するためのifステートメントがあることです。問題は、それがifステートメントに入ることはないということです。Windowsでファイルをダウンロードしたかどうかの確認

ファイルのパスが正しいことがわかりました。私はここで間違っている何か他にありますか?

const fs = require('fs') 
 
    fit('Download Visible Records',() => { 
 
     const filename = `C:\\Users\\me\\Downloads\\DataExport_2017-04-18-10-04am.csv` 
 
     if (fs.existsSync(filename)) { 
 
      console.log('Are we getting here??') // NEVER ACTUALLY GETS HERE EVEN THOUGH THE FILE DOES EXIST 
 
      // Make sure the browser doesn't have to rename the download 
 
      fs.unlink(filename) 
 
      console.log('how about here?') 
 
     } 
 
     claims.downloadVizRecords() 
 
     browser.driver.wait(() => { 
 
      expect(fs.existsSync(filename)).toBe(true) 
 
     }, 10000) 
 
    })

+0

私はしばらく前に私のファイルのダウンロードのテストを作成したので、私は、私はこの結論に達したが、私は余分を持っているか覚えていないことができます私の 'existsSync'関数内のパラメータです。 'fs.existsSync( 'filepath'、fs.R_OK);' fs docsによれば、 "ファイルが呼び出しプロセスによって読み取られることを示すフラグ"です。それはあなたの問題を解決しますか? – Gunderson

+0

@Gunderson提案をいただきありがとうございますが、問題は解決しませんでした。 – DarthOpto

+0

@Gundersonだから、私のプロセスはテストを実行しているようです。私はMac上でgulpからWindowsマシンに走っていますが、ファイルへの読み取り/書き込みアクセス権はありません。ディレクトリのアクセス許可を変更した後でも、Everyoneにはフルアクセス権があります。 – DarthOpto

答えて

0

私のコード正常に動作します:

if (fs.existsSync('D:/CI/script/result/Report.html')) { 
    fs.unlinkSync('D:/CI/script/result/Report.html'); 
} 
関連する問題