2015-03-25 89 views
0

我有一個Javascript項目,它使用Grunt構建過程,QUnit測試,Blanket代碼覆蓋率和一個自定義Grunt任務,將覆蓋率結果轉換爲LCOV文件,發送給Coveralls。一切運行在TravisCI上。Travis上的臨時文件

項目:https://github.com/mistic100/jQuery-QueryBuilder
我咕嚕任務:https://github.com/mistic100/grunt-qunit-blanket-lcov

那麼應該發生什麼,在一個PhantomJS過程,在此期間npm test運行QUnit +毯測試,覆蓋率結果保存在.coverage-results/all.lcov

成功構建後,grunt coveralls將此文件發送給Coveralls。

而我的問題是在這裏,任務沒有找到該文件,雖然當我在我的電腦上測試它。

看到最後特拉維斯日誌:https://travis-ci.org/mistic100/jQuery-QueryBuilder#L389

我能想到的唯一的事情是文件,因爲某些原因,被刪除一旦npm test完成。可能嗎 ?


編輯 所以這無關特拉維斯但在這裏我使用絕對路徑,認爲它是相對路徑(我仍然不知道爲什麼它不能在Windows追加雖然)我的步兵任務

回答

0

我可以考慮的唯一的事情是,一旦npm測試完成,文件由於某種原因被刪除。可能嗎 ?

否,運行after_success命令時,生命週期方面的構建工件仍然存在。

gruntfile.js配置force true並定義路徑 - 這裏沒有問題。 這應該工作。

我會建議拋出一些命令來檢查Travis上的文件夾和文件。

  • - sudo ls -alh /home/travis/build/mistic100/jQuery-QueryBuilder/*
  • - sudo ls -alh /home/travis/build/mistic100/jQuery-QueryBuilder/.coverage-results/*

也許你夾和文件的創建過程中發現了一個權限問題。 但這是我唯一的猜測。

+1

https://travis-ci.org/mistic100/jQuery-QueryBuilder#L389該文件夾在這裏,但不是文件。也許'fs.appendFileSync'無法創建文件,我會嘗試事先觸摸它。 – Mistic 2015-03-26 10:22:13

+0

所以這個問題實際上是'fs.appendFileSync',它無法訪問文件,我添加了一個空的內容'grunt.file.write',並且文件保持空白。 – Mistic 2015-03-26 10:48:29