2017-10-13 2 views
1

Je suis en train d'écrire un test de rapporteur qui affirme une URL par rapport à deux URL de navigateur différentes.Comment affirmer une valeur réelle avec deux valeurs attendues différentes

J'ai essayé d'utiliser toMatch avec une expression régulière mais j'obtiens une erreur.

Est-il possible d'affirmer une valeur de chaîne réelle par rapport à 2 valeurs de chaîne attendues ou plus et de voir si elle est égale à l'une d'entre elles?

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

Peut être vous trouverez quelque chose dans le module NPM jasmin de matchers –

+0

Si vous utilisez le jasmin, vérifiez ce poste https://stackoverflow.com/questions/13530365/jasmine-expect-logic-expect- a-or-b – HaC

Répondre

0

On dirait que vous voulez utiliser toContain() qui travaille pour trouver un élément dans un tableau. Alors changez votre assertion parce que vous voulez lui passer un tableau d'URL [this.url, 'www.google.com'] et affirmer qu'il contiendra url1.

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

Note: Bien que cela devrait fonctionner, personnellement, je n'aime pas avoir mes valeurs sur la réception de l'affirmation à savoir toContain(url1), je préférerais être adopté pour la première expect(url1).... Cependant, à la fin, il affirme toujours les valeurs réelles par rapport aux valeurs attendues, ce qui n'est pas un gros problème à mon avis.

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

+0

Merci pour votre aide. Je l'ai fait travailler en utilisant l'autre sens quelque chose comme ça et ça marche ..! attendez (this.currentURL) .toContain ((url1 || 'www.google.com')); – Aprilgirl