2017-01-17 6 views
-1

react、avaなどを使用して単体テストを作成しようとしています。メソッドが呼び出されたかどうかを確認する簡単な単体テストを作成する際に問題があります。メソッドが呼び出された場合、私のテストは合格するはずです。しかし、私がコードカバレッジをチェックすると、「機能がカバーされていません」というメッセージが表示されます。以下は私がそれをテストするために使用しているコードです。avajsを使用してメソッドが呼び出された場合はtrueを返します

import test from 'ava'; 
import React from 'react'; 
import { Cart } from 'components/Cart/CartDisplay'; 
import { shallow } from 'enzyme'; 

let props; 

test.beforeEach(() => { 
props = { 
popError:() => {}, 
message: '', 
count: 2, 
displayCart:() => {}, 
onClose:() => {} 
}; 

}); 

test('renders okay?', (t) => { 
shallow(
<Cart {...props} /> 
); 
t.pass('yes'); 
}); 

test('Cart Displayed okay?', (t) => { 
props.displayCart(); 
t.pass('yes'); 
}); 

私は間違っていますか?

答えて

1

試行のカップルの後、私はそれを把握することができた:

import test from 'ava'; 
import React from 'react'; 
import { Cart } from 'components/Cart/CartDisplay'; 
import { shallow,mount } from 'enzyme'; 
import sinon from 'sinon'; 
import {expect} from 'chai'; 

let props; 

test.beforeEach(() => { 
    props = { 
    popError:() => {}, 
    message: '', 
    count: 2, 
    displayCart:() => {}, 
    onClose:() => {} 
    }; 

}); 

test('Cart Display called?', t => { 
    sinon.spy(Cart.prototype, 'cartDisplay'); 
    const wrapper = mount(<BannerMessage />); 
    expect(Cart.prototype.componentDidMount.calledOnce).to.equal(true); 
}) 
関連する問題