2017-05-26 1 views
2

I Integrationstest für eine Komponente erschaffe seine Schnittstelle zu testen und ich bin Montag wie soEnzym überprüfen, ob Komponente ohne Fehler auf prop Typen montiert

const wrapper = shallow(<Component boolVal={()=>{}} /> 

Im Component I boolVal prop als Booleschen Wert markiert und bei der Montage bekomme ich eine erwartete Warnung:

`Warning: Failed prop type: Invalid prop `boolVal` of type `function` supplied to `Component`, expected `boolean`.` 

Das ist richtig, aber ich möchte, dass der Test fehlschlägt.

Wie kann ich das bitte archivieren?

+1

Sie können überprüfen, wie Reagieren selbst [Tests] (https://github.com/facebook/react/blob/8ba820a699ed337cf4f42a5743313cb925b6f97b/src/isomorphic/classic/types/__tests__/ ReactPropTypes-test.js # L28) diese Funktionalität. Setzen Sie einen Spion auf 'console.error()'. –

Antwort

0

Nach Dmitris Antwort, hier ist ein Test, der auf console.error spioniert. Test schlägt fehl, wenn die Requisiten Validierung fehl:

describe.only('Test Component',() => { 

    const sandbox = sinon.sandbox.create(); 

    beforeEach(function() { 
     sandbox.spy(console, 'error'); 
    }); 

    it('mounts', function() { 
     shallow(
      <Component boolVal={()=>{}} /> 
     ); 
     assert.isFalse(console.error.called); 
    }); 

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