2016-09-07 18 views
2

エラーがスローされてもこのコードは失敗します。エラーがスローされてもJasmine toThrowは機能しません

it('should throw error when foo config value is falsey', (done) => { 
    const config = { foo: null, bar: 'some-name' }; 
    expect(quux.withConfig(config).load('*', (err, inst) => { done(); })).toThrow(); 
}); 

また、私はこの

it('should throw error when foo config value is falsey', (done) => { 
    const config = { foo: null, bar: 'some-name' }; 
    expect(SelfServiceCompletedJobStore.withConfig(config).load('*', (err, inst) => { })).toThrow(); 
    done(); 
}); 

エラーメッセージを試してみた:

should throw error when foo config value is falsey 
    - Error: Requires a non-empty foo:String 

答えて

2

あなたが期待する(...)に関数を渡す必要があります。次のコード:

expect(function(){ 
    quux.withConfig(config).load('*', (err, inst) => { done(); }); 
}).toThrow(); 
を:

expect(quux.withConfig(config).load('*', (err, inst) => { done(); })).toThrow(); 

が代わりに無名関数を使って、実際に(...)期待に呼び出しの結果を渡すためにしようとしています

関連する問題