0
votes

La comparaison de 2 chaînes identiques échoue avec le chai à un protacteur

Je comparais le texte d'un élément avec une chaîne. Les deux sont identiques et a une apostrophe dedans. J'utilise un protacteur dans Thypscript avec Chai à. L'attente échoue.

expect("I'll do it").to.equal("I'll do it")


1 commentaires

GetText () est ASYNC API qui retourne une promesse. Pour chai , il ne peut pas gérer directement la promesse, vous pouvez utiliser un autre paquet chai-comme-promis ensemble pour gérer la promesse.


4 Réponses :


0
votes

Je ne suis pas sûr de quelles méthodes utilisez-vous pour déclarer vos variables ou pourquoi, donc je voudrais simplement lui donner un exemple avec mon chemin. Pour comparer un objet avec une chaîne, dans ce cas, je ferais ce qui suit: xxx

espère que cela aide.


0 commentaires

1
votes

J'ai une conjecture qui ne peut en fait pas être égale à cause de par exemple. code>, \ n code> ou tout autre symbole. Le moyen le plus simple de vérifier est:

this.Option1.getText().then((elementText) => {
    console.log('a' + elementText + 'b');
});


0 commentaires

0
votes

Merci pour la réponse. La chaîne n'était pas égale car une chaîne avait "guillemet unique" au lieu de l'apostrophe.


0 commentaires

0
votes

gettext () code> est ASYNC API qui retourne une promesse. CHAI code> ne peut pas gérer la promesse directement, vous pouvez utiliser un autre paquet Chai-comme-promis ensemble pour gérer la promesse.

const chai = require('chai'),
chai.use(require('chai-as-promised'))

global.expect = chai.expect

// if the actual value is a promise, you muse use 'eventually'
// in pattern: expect().to.eventually.xxxx() as following
// otherwise, don't use eventually
expect(getOption1()).to.eventually.equal('I'll do it')

let name = 'tom'
expect(name).to.equal('tom') // don't use eventually at here, 
                             // due to variable: name is not a promise.


0 commentaires