2017-06-11 14 views
1

Webコンポーネントをテストしようとしています。このWebコンポーネントは、無効なプロパティ値が設定されている場合、警告メッセージをコンソールに書き込みます。現在、私は次のようしている:私はこれらのテストを実行するとSinonを使用してMochaのアサートコンソールメッセージを読む

import { expect } from 'chai'; 
import { mount } from 'avoriaz'; 

import MyComponent from '../src/my-component.vue'; 

const sinon = require('sinon'); 

describe('my-component.vue', function() { 
    let sandbox = null; 

    beforeEach(function() { 
    sandbox = sinon.sandbox.create(); 
    sandbox.stub(console, 'warn'); 
    }); 

    afterEach(function() { 
    sandbox.restore(); 
    }); 

    it('should show warning message in console', function() { 
    let wrapper = mount(MyComponent, { propsData: { start:-1 } }); // start has to be positive. 
    let result = sandbox.calledWith('WARNING!'); 
    expect(result).to.equal(true); 
    }); 
}); 

を、私がスローされた次の例外を取得:

sandbox.calledWith is not a function 

私は、代わりにsandbox.fakes.calledWithを使用しようとしました。私はこのエラーを受け取りました:

sandbox.fakes.calledWith is not a function 

私は間違っていますか?コンソールメッセージがコンソール行に書き込まれているかどうかを確認するにはどうすればよいですか?事は、私がsandbox.stub(コンソール、 '警告')を削除した場合です。私は実際のコンソールウィンドウに書かれた行を見ることができます。だから私はそれが期待どおりに生成されていることを知っている。私はそれをテストする方法を理解できません。

何か助けていただければ幸いです。

+0

calledWithは(sandbox.stubから返された)スタブに使用する必要がありますする必要があります。 –

答えて

0

あなたは

let result = sandbox.calledWith('WARNING!'); 

を持っているビットは意味がない、と

let result = console.warn.calledWith('WARNING!'); 
関連する問題