2016-10-31 2 views
0

Ich habe die folgende React Component, für die ich möchte, dass die Schaltfläche klicken und testen mit Sinon und Enzyme.AssertionError: erwartet [Funktion: Proxy] eine Eigenschaft 'CallCount' von 1 zu haben, aber 0

import React, {PropTypes} from 'react'; 

class Button extends React.Component { 
    constructor(props, context) { 
    super(props, context); 
    } 

    render() { 
    return (
     <div className="button"> 
     <button type="button" className="btn btn-default" 
      onClick={this.props.increment}>State</button> 
     </div> 
    ); 
    } 
} 


export default Button; 

Aus irgendeinem Grund meine Sinon Test nicht bestanden:

describe('on clicking submit',()=> { 
    it('calls submit',() => { 
     const onClickSpy = sinon.spy(); 
     const wrapper = shallow(
     <Button onClick={onClickSpy} /> 
    ); 
     wrapper.find('.button').simulate('click'); 
     expect(onClickSpy).to.have.property('callCount', 1); 
    }); 
    }); 

Fehler:

AssertionError: expected [Function: proxy] to have a property 'callCount' of 1, but got 0 

Was ich in meinem Setup bin fehlt?

Bitte beachten Sie, mein Code funktioniert gut, als wenn ich npm starte -> es läuft in Ordnung und macht, was ich brauche.

+0

Sind Sie sicher, dass alle Requisiten aktualisiert geltend zu machen, bevor 'expect' ist namens? – elmeister

Antwort

1

Update:

Verwenden stub statt spy

Die Behauptung Logik ist falsch, müssen Sie wie unten

expect(onClickSpy.callCount).to.equal(1);

+1

noch so gleichen Fehler – fscore

+0

aktualisiert die Antwort – anoop

Verwandte Themen