2016-06-20 4 views
1

Ich benutze unten genannten Code, um mehrere Werte mit einem erwarteten Werten zu vergleichen und wenn der Text mit jedem von ihnen übereinstimmt, sollte mein Test bestanden werden:mehrere Werte mit einem erwarteten Werten übereinstimmen, immer versuchen, nur den ersten Wert und schlägt fehl

Promise.all([Summ,Desc,Comment]).then(function(values){ 
    console.log("values = " +values); 
    expect(values[0]||values[1]||values[2]).toMatch('searchtxt'); 
}); 

Aber mit diesem Code versuche es immer zuerst (Werte [0]), wenn dies nicht übereinstimmt dann wird mein Test fehlschlagen.

Wie kann ich es ändern, so dass Winkelmesser nach allen 3 Werten sucht und wenn dann einer von ihnen übereinstimmt, sollte mein Test bestanden werden.

Antwort

1

wenn jemand von ihnen entspricht meinem Test

In diesem Fall passieren sollte, Sie brauchen nichts Besonderes, nur concatenate die Werte:

expect(values[0] + values[1] + values[2]).toMatch('searchtxt'); 

Bitte beachten Sie auch das Follow-up zu Ihrem Problem hier:

+0

Dank @alecxe dies mein Problem gelöst. :) – ssharma

+0

@soniasharma BTW, ich habe eine Follow-up erstellt, wenn Sie interessiert sind: http://StackOverflow.com/Questions/37926523/one-of-strings-in-array-to-match. – alecxe

+0

Ja, sicher Danke @alecxe. – ssharma

0

die Sie interessieren,

expect(values[0] == searchtxt || values[1] == searchtxt || values[2] == searchtxt).toEqual(true); 
Verwandte Themen