2017-10-13 16 views
1

2つの異なるブラウザURLに対してURLをアサートする分度器テストを書いています。2つの異なる期待値を使って実際の値をアサートする方法

toMatchを正規表現で使用しようとしましたが、エラーが発生します。

2つ以上の期待される文字列値に対して実際の文字列値をアサートし、それらのいずれかと等しいかどうかを確認できますか?

expect(url1).toMatch(/this.url|www.google.com/); 
+0

、あなたはジャスミンを使用している場合は、ジャスミン・マッチャーのNPMモジュール –

+0

で何かを見つけることが、この記事をチェックすることhttps://stackoverflow.com/questions/13530365/jasmine-expect-logic-expect- a-or-b – HaC

答えて

0

toContain()は、配列内の項目を検索するために使用します。だから、アサーションを切り替えるには、URLの配列[this.url, 'www.google.com']を渡して、それにurl1が含まれると主張する必要があるからです。

expect([this.url, 'www.google.com']).toContain(url1);

注:これは動作するはずですが、個人的に私は主張すなわちtoContain(url1)の受信側で私の値を持つのは好きではない、私はむしろそれが最初expect(url1)...を渡されます。しかし、結局のところ、実際の値と期待値をアサーションしているので、私の意見ではそれほど大したことではありません。

https://jasmine.github.io/2.0/introduction.html

+0

ありがとうございました。私はそれをこのようないくつかのものを他の方法を使用して動作させ、それは動作します.. expect(this.currentURL).toContain((url1 || 'www.google.com')); – Aprilgirl

関連する問題