2017-05-19 2 views
0

Ich benutze Reaktion-Helm, Elemente zum Kopfelement hinzuzufügen.Unit Testing reagieren-Helm-Code

<Helmet> 
    <title>title</title> 
    <meta name="description" content="description" /> 
    <meta name="keywords" content="keywords" /> 
</Helmet> 

Und ich versuche Unit-Test wie folgt zu schreiben:

it('should render metadata',() => { 
    const wrapper = mount(<Metadata/>); 
    // this is not working. 
    expect(document.title).to.equal("title"); 
}); 
+0

Ich könnte falsch liegen, aber müssen Sie nicht auf "Wrapper" in Ihrer Erwartung beziehen? 'expect (wrapper.title) ...' oder etwas in diesem Sinne. – sesamechicken

+0

Helm rendert keinen Inhalt, so dass der Titel nicht zum Titel hinzugefügt wird. – emphaticsunshine

+0

Sorry, Titel wird nicht zum Dokument hinzugefügt. – emphaticsunshine

Antwort

1

ich die Antwort selbst herausgefunden. Ich tat folgendes:

it('should render metadata',() => { 
    const wrapper = mount(<Metadata/>); 
    // this will return all the markup assigned to helmet 
    // which will get rendered inside head. 
    const helmet = Helmet.peek(); 
    expect(helmet.title).to.equal("title"); 
}); 

Dies macht den Trick für Unit-Test.