2016-06-20 47 views
1

我使用波紋管提到的代碼來比較多個值與一個預期值,如果文本與其中任何一個人匹配,我的測試應通過:與一個預期值匹配多個值,始終嘗試僅匹配第一個值並且失敗

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

但有了這個代碼,它總是試圖先匹配(數值[0]),如果不匹配,那麼我的測試將失敗。

我如何改變它,這樣量角器查找所有3個值,然後如果他們中的任何人都符合我的測試應該通過。

回答

1

如果他們中的任何人都符合我的測試應該通過

在這種情況下,你不需要什麼特別的,只是串連值:

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

另請參閱在這裏你的問題的後續:

+0

感謝@alecxe這個解決我的問題。 :) – ssharma

+0

@soniasharma順便說一句,我創建了一個後續,如果你有興趣:http://stackoverflow.com/questions/37926523/one-of-strings-in-array-to-match。 – alecxe

+0

是的,當然由於@alecxe。 – ssharma

0

試試這個,

expect(values[0] == searchtxt || values[1] == searchtxt || values[2] == searchtxt).toEqual(true); 
相關問題