Estoy aprendiendo Scala ahora. Vi que hay 2 frameworks de prueba allí, ScalaTest y Specs. Mi único problema es que aún no estoy a gusto con el lenguaje para decidir cuál es mejor. También estoy acostumbrado a escribir pruebas antes del código, por el momento no tengo una idea clara de cómo hacerlo en la programación funcional. Idealmente me gustaría aprender Scala de manera TDD, ¿hay algún recurso al respecto?learn Scala with TDD
Respuesta
Hay un koan funcional que podría ser algo que está buscando. Dick pared del Java Posse comenzó un proyecto github:
https://github.com/relevance/functional-koans/tree/scala
Usted necesita experto para iniciarlo a través mvn package
.
Hay otro Koan:
Gracias a @MikeHoss!
Quizás esto te ayude. Es una solicitud similar hecha por otro miembro del desbordamiento de pila.
no hay torres reales allí también ... – Uberto
ScalaTest es el más destacado ricamente y flexible de los dos marcos.
Habiendo dicho eso ... Actualmente estoy a favor de las especificaciones, parecen estar haciendo un mejor trabajo al estar al día con las últimas versiones de Scala y la integración de IntelliJ también parece funcionar mejor.
Las especificaciones también tienen la ventaja, para ti, de tener una API más pequeña para aprender.
Inmediatamente después de 2.8 salió ScalaTest 1.2 fue lanzado final, que funciona bien con Scala 2.8. Kevin de alguna manera no sabía que ScalaTest 1.2 funcionaba con Scala 2.8. ScalaTest 1.3, que también funciona con Scala 2.8, es el lanzamiento actual a partir del 20 de marzo de 2011. –
En el momento en que escribí esta respuesta, recientemente había estado trabajando con una gran cantidad de 2.8 candidatos de lanzamiento, cuyas especificaciones estaban siguiendo muy de cerca . Todavía recuerdo la frustración de no poder actualizar un proyecto simplemente por una dependencia de ScalaTest. Desde entonces, ScalaTest comenzó a rastrear sus propias dependencias a través de Maven, por lo que las versiones rápidas deberían ser posibles y no veo que esto me afecte en el futuro (útil para saber, con 2.9.0 a punto de lanzar el candidato) –
Por lo tanto, marcos de prueba. Hay other questions sobre eso, aunque me gustaría señalar que también hay ScalaCheck. ScalaCheck no es tan completo como las especificaciones y ScalaTest, pero, por otro lado, tanto Specs como ScalaTest pueden integrarse con él.
Personalmente, preferiría ir con ScalaCheck, que probablemente sea muy diferente de los marcos de pruebas de unidad a los que está acostumbrado. Esta diferencia puede ser buena para evitar que realice pruebas de manera orientada a objetos.
Ahora, a la principal preocupación de su pregunta: ¿hay un tutorial de Scala similar a TDD? No conozco ninguno, aunque el answer acerca de functional koans parece acercarse a lo que desea.
He encontrado scalacheck para ser más útil para un shakedown de bajo nivel de algoritmos y unidades individuales, pero no tan útil para BDD y especificaciones de alto nivel. –
@Kevin ¡Entonces no está generando generadores correctamente! :-) –
- 1. .with alternativa en scala
- 2. Scikit-learn equivalent for C++?
- 3. TF-IDF Uso simple - NLTK/Scikit Learn
- 4. ¿Cómo instalar scikit-learn en heroku cedro?
- 5. No se puede importar Scikit-Learn
- 6. scikit-learn GMM producir probabilidad registro positivo
- 7. scikit-learn Regresión logística de memoria Error
- 8. Aplicación web que usa scikit-learn
- 9. Parcial Application with Infix Functions
- 10. C++ y TDD adecuado
- 11. VB.NET y NUnit - TDD
- 12. TDD con Episerver
- 13. compresión TDD y JPEG
- 14. TDD. ¿Cuándo puedes seguir?
- 15. TDD And Game Physics
- 16. Vender TDD al equipo
- 17. Cómo TDD un JFrame?
- 18. Infraestructura requerida para TDD?
- 19. TDD, DDD y encapsulación
- 20. Mecanografía implícita y TDD
- 21. TDD iOS tutorial
- 22. Investigación sobre TDD
- 23. TDD y UML juntos
- 24. BDD/TDD contra JAD?
- 25. Objeto Scala scala
- 26. scikit learn: cantidad deseada de Best Features (k) no seleccionado
- 27. Scala Case Classes vs. Protocol Buffers with Akka en la red
- 28. TDD con ASP.NET MVC 1.0
- 29. TDD con requisitos poco claros
- 30. TDD y Cobertura de código
este koan cosa en no muy clara para mí ...:) – Uberto
@uberto, por lo que puedo deducir, los "koans funcionales" parecen ser ejercicios que puedes hacer para aprender programación funcional, por lo que te dan una prueba fallida y tienes que pasarla. ¿Es eso correcto, Michael? –
Sí, correcto. Hay una configuración de proyecto con un montón de pruebas unitarias. Para progresar, debe cambiar la prueba de unidad que falla actualmente para que pase. Entonces la próxima prueba falla y tienes que aprender algo nuevo. La primera prueba unitaria es trivial: 'assert (false) // debe ser verdadero' –