2011-05-18 46 views
0

我有項目編譯js到js。nodejs如何測試大輸出文本

我寫了filename.js並編譯到filename.out.js,並手動檢查filename.out.js,下次我修改我的編譯器時,我希望輸出不會改變,如果它改變,顯示diff。

function testFile(filename){ 
    var code = fs.readFileSync(filename + '.js', 'utf-8'); 
    var expect = fs.readFileSync(filename + '.out.js', 'utf-8'); 
    assert.equal(pro.compile(code), expect); 
} 

['groups', 'steps', 'serial', 'parallel'].forEach(testFile); 

每次它說AssertionError,但不應該是,並且它不能給diffrent。

+1

你知道它們是相同的嗎?可以有空白區別嗎?如果你轉儲出一些道具如:console.log(pro.compile(code).length);和console.log(expect.length);他們是一樣的嗎? – 2011-05-18 12:42:24

+0

謝謝你的日誌長度,拯救我的生命。 1尺寸更大,奇怪。 trim()然後它們是相同的。 – 2011-05-18 13:08:41

+0

也許在文件末尾有空格。或者文件使用BOM進行編碼。 – 2014-03-05 03:17:39

回答

0

謝謝你的日誌長度,拯救我的生命。 1尺寸更大,奇怪。 trim()然後它們是相同的