2017-10-04 11 views
0

にジャスミンのテスト中に不明なエラーがスローされていないがあるのでライブラリは、私は、以下の機能を持っているノードのjs

it('test if writing fails ', function() { 
    var writer = new Writer(
     '/data/configurations/ab/ba/abba/test.json', 
     'content' 
    ); 

    expect(function() { 
     writer.process() 
    }).toThrowError("Something went wrong during writing"); 
}) 

は、だからこれは失敗することが予想されます書き込むファイル。次に、ライブラリFSがキャッチされていないErrorをスローしています。ここ
はテストから出力されます。

Started 
.....F 

Failures: 
1) writer test test if writing fails 
    Message: 
    Expected function to throw an Error. 
    Stack: 
    Error: Expected function to throw an Error. 
     at Object.<anonymous> (/vagrant/project/tests/utils/file/writerTest.js:42:6) 

6 specs, 1 failure 
Finished in 0.198 seconds 


/vagrant/project/node_modules/mock-fs/lib/binding.js:1060 
     throw new FSError('ENOENT', filepath); 
Error: ENOENT, no such file or directory '/vagrant/project/node_modules/jasmine/node_modules/exit' 
    at Binding.<anonymous> (/vagrant/project/node_modules/mock-fs/lib/binding.js:1060:13) 

ので、ライブラリが投げるとエラーとtoThrowErrorはそれを得ることはありませんされています。誰かがそれを解決する方法や私の間違いを知っていますか?

+0

ですから、投げられたエラーは期待されるエラーではありません。つまり、 'function(error){'は今まで呼ばれていませんでした。代わりに '.toThrow()'を使って何か違いはありますか? –

答えて

0

ENOENTがスローされると、ファイルまたはディレクトリが存在しないことを意味します。

https://www.npmjs.com/package/exit

実行npm install exitは そして、それは問題を修正する必要があります - あなたはそれをインストールする必要がありますので、あなたは、おそらく「終了」パッケージが欠落しています。

+0

しかし、テストでエラーがスローされることを期待しているという問題ではなく、エラーがスローされていますが、エラーがスローされていないことがテストによって示されます。したがって、予想されるエラーはスローされません。これはテストエラーです:p –

+0

ありがとう、私はそれを解決したと思います。私はコールバック関数を.process()メソッドに解析し、それをテストする必要があります。私は更新を与えるでしょう。あなたの助けをすでにありがとう! – trunco

関連する問題