2017-05-13 8 views
0

Je me demande si/comment je peux utiliser pour bouchonner l'Sinon objet mappedValues niché dans la fonction ci-dessous:Comment couper un objet avec Sinon?

function getValueFromObj(key) { 
    var mappedValues = { 
     "a": "aaa", 
     "b": "bbb", 
     "c": "ccc", 
     "d": "ddd", 
    }; 

    return mappedValues[key]; 
} 

Mon objectif pour le test est de ne pas vérifier chaque valeur mais assurez-vous que lorsqu'il est passé key une valeur correctement correspondante est retournée et la valeur n'est pas augmentée de quelque façon que ce soit.

Je pense que la meilleure façon de tester est d'avoir le talon de test mappedValues puis vérifier la valeur de retour de getValueFromObj mais je ne suis pas sûr de savoir comment stub fait l'objet.

+0

Vous pouvez utiliser mappedValues.hasOwnProperty (clé) –

Répondre

0

Je ne pense pas que ce soit une bonne idée d'utiliser sinon pour cela. Je pense que vous pouvez simplement écrire un test comme celui-ci:

expect(getValueFromObj("a")).to.eql("aaa"); 

quand cette attente (je l'utilise chaï attendre à écrire que) est satisfait, vous êtes sûr que tous les travaux correctement.