Hola,
estoy intentando incorporar test en mi desarrollo para micropython.
utilizando upip pude instalar unittest.
preguntas:
Entre pytest y unittest ¿hay mucha diferencia?
Sabiendo que la respuesta va a ser más que todo opinión ¿cual te gusta más y por que?
¿cual es la compatibilidad entre las suites de test? ¿hay otra tecnología diferente a estas para testear que sea recomendable o atendible?
¿que bibliografía me recomendarían acerca de test?
En cuanto a lectura sobre testing, se podría empezar leyendo los artículos de Martin Fowler: Testing Guide
Algunos artículos tienen varios años pero siguen vigentes dentro de todo, y aunque si bien los ejemplos en su mayoría están en Java, Ruby y/o JavaScript, es posible extrapolar su aplicación a Python.
Sobre libros, los artículos de Fowler suelen incluir referencias/recomendaciones a los mismos.
Espero que te sirva mi pequeño aporte y ojalá alguien pueda aportar más información
Pytest,menos boilerplate, más Pythonico. Puede correr test hechos con nosetest y otros.
No sé Micropython, pero Unittest está en la biblioteca standard, fue el primero y toma mucho de Java
Saludos!
Luis Andraschnik
A mi me gusta nosetests … puede ser que este medio desactualizado. Me gusta en general tener el codigo organizado en clases (eso me parece mas “pythonico” si queremos charlar de pythonicidades).
Ademas, tambien, tengo el prejuicio de que “assert” siempre me parecio medio raro en python. Me gusta usar asserts pero tengo la impresion de que en codigo normal en python no “funcionaban” o no tiraban excepcion… claro… en pytest es distinto. no se porque.
Por cierto, unittest mas que de java, toma cosas del test unitario de Kent Beck de Smalltalk… pero son detalles .
Igual no tengo problema en ir con pytest.
Ah… tambien una cosa que pasa con pytest es que me recuerda algunas suites de tests de javascript y me da pesadillas ( jest )
Que curioso, de lo poco que vengo utilizando Jest hasta el momento, me recuerda más a unittest (son su estilo xUnit) que a pytest (con su uso de fixtures)
En la última Python Developers Survey 2019 (conducida por Python Software Foundation y JetBrains) ya se puede ver que Pytest está siendo el standard de-facto en la industria (reemplazando a unittest).
En mi caso, me pasé a Pytest hace un par de años, con total éxito. Y en mi contexto, en general, todos lo han hecho (mi contexto == ~100 devs Python).