Comment répéter/boucle à travers moka tests
J'ai travaillé sur quelques moka/chai tests, et je n'ai toujours pas trouvé un bon moyen de faire tourner mes tests sur différentes possibilités de côté en plaçant une boucle à l'intérieur de chaque de la, "elle", de tests et d'itération d'un an et le temps. Le problème est, si j'en ai des dizaines ou des centaines de tests, je n'ai pas envie d'écrire la même pour la boucle, encore et encore.
Est-il une façon plus élégante de le faire? En particulier celui qui parcourt tous les tests à la fois avec les différents paramètres de test?
describe('As a dealer, I determine how many cards have been dealt from the deck based on', function(){
console.log(this);
beforeEach(function(){
var deck = new Deck();
var myDeck = deck.getCards();
});
it('the number of cards are left in the deck', function(){
for(var i = 1; i<=52; i++){
myDeck.dealCard();
expect(myDeck.countDeck()).to.equal(52-i);
}
});
it('the number of cards dealt from the deck', function(){
expect(myDeck.countDealt()).to.equal(i);
});
it('the sum of the cards dealt and the cards left in the deck', function(){
expect(myDeck.countDeck() + myDeck.countDealt()).to.equal(52)
});
});
OriginalL'auteur Vincent Chan | 2014-02-19
Vous devez vous connecter pour publier un commentaire.
J'ai mis en place neezer la solution à Boucle Moka tests?, ce qui implique de mettre l'intégralité du test dans la fermeture et de l'exécuter avec une boucle.
S'il vous plaît être conscient que la boucle mess avec beforeEach() dans la fonction, comme il l'exécute 52 fois par test. Placer des éléments dans le beforeEach() la fonction n'est pas une bonne idée si ces éléments sont dynamiques, et ne doivent pas être exécutée qu'une seule fois par boucle.
Le code ressemble à ça, et il semble fonctionner.
OriginalL'auteur Vincent Chan