2017-01-27 2 views
0

Ich muss getZvalue so verspotten, wenn ich eine flache auf z-Wert zu tun, werde ich versuchen, etwas anderes zu rendern. Wie teste ich es? Unten ist ein Beispielcode. kann ich diese Methode auszuspionieren WertWie man eine Methode vortäuscht, die von render-Methode mit flachen (Enzym) aufgerufen wird

class AbcComponent extends React.Component{ 
    render(){ 
    const z= this.getZValue(); 
    return <div>{z}</div> 

    } 

    getZValue(){ 
    //some calculations 
    } 
    } 


describe('AbcComponent',()=>{ 
    it('Test AbcComponent',()=>{ 
    const wrapper= shallow<AbcComponent/> 
    }) 
}) 

Antwort

1

Wie wäre es damit zurück?

import { spy } from 'sinon'; 
describe('AbcComponent',()=> { 
    it('Test AbcComponent',()=> { 
    spy(AbcComponent.prototype, "getZValue"); 
    const wrapper= shallow<AbcComponent/> 
    expect(AbcComponent.prototype.getZValue.callCount).to.equal(1); 
    AbcComponent.prototype.getZValue.restore(); 
    }) 
}) 

dazu hinzufügen, können Sie mit Rückgabewerte wie folgt testen,

import { stub } from 'sinon'; 
    describe('AbcComponent',()=> { 
     it('Test AbcComponent',()=> { 
     stub(AbcComponent.prototype, "getZValue").returns(10); 
     const wrapper= shallow<AbcComponent/> 
     expect(AbcComponent.prototype.getZValue.callCount).to.equal(1); 
     AbcComponent.prototype.getZValue.restore(); 
     }) 
    }) 
+0

die Antwort für Sie arbeiten oben Bitte benutzen? – anoop

Verwandte Themen