Question apprendre Scala avec TDD


J'apprends Scala maintenant. J'ai vu qu'il y a 2 frameworks de test, ScalaTest et Specs. Mon seul problème est que je ne suis pas encore à l'aise avec le langage pour décider lequel est le meilleur. De plus, je suis habitué à écrire des tests avant le code, pour le moment je ne sais pas trop comment le faire en programmation fonctionnelle. Idéalement, je voudrais apprendre la Scala de façon TDD, y a-t-il des ressources à ce sujet?


11
2017-11-16 13:34


origine


Réponses:


Il y a un koan fonctionnel qui pourrait être quelque chose que vous cherchez. Dick Wall de Java Posse a lancé un projet github:

https://github.com/relevance/functional-koans/tree/scala

Vous avez besoin de maven pour le démarrer via mvn package.


Il y a un autre Koan:

http://www.scalakoans.org/

Merci à @MikeHoss!


7
2017-11-16 13:54



Donc, les frameworks de test. Il y a d'autres questions à ce sujet, même si je voudrais souligner qu'il y a aussi ScalaCheck. ScalaCheck n'est pas aussi complet que Specs et ScalaTest, mais les deux Spécifications et ScalaTest peut intégrer avec elle.

Personnellement, je préfère utiliser ScalaCheck, qui est probablement très différent des frameworks de tests unitaires auxquels vous êtes habitués. Cette différence peut être utile pour vous éviter de déclarer des tests de manière orientée objet.

Maintenant, à la principale préoccupation de votre question: existe-t-il un tutoriel Scala de type TDD? Je n'en connais aucun, bien que le répondre sur koans fonctionnels semble s'approcher de ce que vous voulez.


2
2017-11-16 16:25



Peut-être que cela vous aidera. C'est une requête similaire faite par un autre membre de débordement de pile.

Tests unitaires Scala


1
2017-11-16 13:38



ScalaTest est le plus riche et le plus flexible des deux frameworks.

Cela dit, je privilégie actuellement les Specs, qui semblent mieux faire face aux dernières versions de Scala, et l'intégration d'IntelliJ semble également mieux fonctionner.

Les spécifications ont également l'avantage, pour vous, d'avoir une API plus petite à apprendre.


1
2017-11-16 13:51