# Consulta acerca de suites de test compatibilidades y recomendaciones

**URL:** <https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191>\
**Category:** Sin categoría\
**Created:** [7 Abril, 2020 15:23 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191 "2020-04-07T15:23:21Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![gsgermanok](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/gsgermanok/32/265_2.png) [@gsgermanok](https://pyar.discourse.group/u/gsgermanok)\
**Post date:** [7 Abril, 2020 15:23 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/1 "2020-04-07T15:23:21Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![ssebastianj](https://avatars.discourse-cdn.com/v4/letter/s/ed8c4c/32.png) [@ssebastianj](https://pyar.discourse.group/u/ssebastianj)\
**Post date:** [7 Abril, 2020 20:55 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/2 "2020-04-07T20:55:54Z")

</div>

> [@gsgermanok](#):
>
> ¿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](https://martinfowler.com/testing/)

- 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 🙂

---

<div class="post-metadata">

**Author:** ![tzulberti](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/tzulberti/32/4_2.png) [@tzulberti](https://pyar.discourse.group/u/tzulberti)\
**Post date:** [8 Abril, 2020 12:34 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/3 "2020-04-08T12:34:12Z")

</div>

> [@gsgermanok](#):
>
> 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?

Son dos formas diferentes de escribir tests.

- unittest te fuerza a usar clases
- pytest podes usar clases pero tambien podes usar funciones directamente

Por el otro lado, pytest tiene un monton de plugins, mientras que unittest no tiene (o tiene muy pocos).

A mi me gusta mas pytest.

> [@gsgermanok](#):
>
> ¿cual es la compatibilidad entre las suites de test? ¿hay otra tecnología diferente a estas para testear que sea recomendable o atendible?

Pytest puede correr lo tests de unittest pero unittest discover no puede correr los tests de pytest

Esta nose que esta abandonado, pero no se que onda `nose2`

---

<div class="post-metadata">

**Author:** ![landras1](https://avatars.discourse-cdn.com/v4/letter/l/779978/32.png) [@landras1](https://pyar.discourse.group/u/landras1)\
**Post date:** [16 Abril, 2020 18:31 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/4 "2020-04-16T18:31:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tenuki](https://avatars.discourse-cdn.com/v4/letter/t/e19adc/32.png) [@tenuki](https://pyar.discourse.group/u/tenuki)\
**Post date:** [16 Abril, 2020 19:27 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/5 "2020-04-16T19:27:47Z")

</div>

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 )

salut!

---

<div class="post-metadata">

**Author:** ![facundo](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/facundo/32/7_2.png) [@facundo](https://pyar.discourse.group/u/facundo)\
**Post date:** [17 Abril, 2020 17:48 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/6 "2020-04-17T17:48:33Z")

</div>

> [@tenuki](#):
>
> 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.

El assert en Python funciona siempre y cuando no estés en modo optimizado… por ejemplo, para el siguiente código:

```python
assert 1 == 0
print("Yay")

```

Lo grabo en `t.py`, y…

```auto
$ python3 t.py
Traceback (most recent call last):
  File "t.py", line 1, in <module>
    assert 1 == 0
AssertionError

$ python3 -O t.py
Yay

```

---

<div class="post-metadata">

**Author:** ![tenuki](https://avatars.discourse-cdn.com/v4/letter/t/e19adc/32.png) [@tenuki](https://pyar.discourse.group/u/tenuki)\
**Post date:** [18 Abril, 2020 12:13 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/7 "2020-04-18T12:13:28Z")

</div>

> [@facundo](#):
>
> El assert en Python funciona siempre y cuando no estés en modo optimizado… por ejemplo, para el siguiente código:

Gracias! Mucho tiempo programe para un python embebido en una aplicacion… y este corria en modo optimizado. Se ve que por eso me quedo esa “tara”!

---

<div class="post-metadata">

**Author:** ![ssebastianj](https://avatars.discourse-cdn.com/v4/letter/s/ed8c4c/32.png) [@ssebastianj](https://pyar.discourse.group/u/ssebastianj)\
**Post date:** [20 Abril, 2020 12:00 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/8 "2020-04-20T12:00:02Z")

</div>

> [@tenuki](#):
>
> 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](https://jestjs.io/) hasta el momento, me recuerda más a [unittest](https://docs.python.org/3/library/unittest.html) (son su estilo `xUnit`) que a `pytest` (con su uso de [`fixtures`](https://docs.pytest.org/en/latest/fixture.html))

Cuestión de preferencia 🙂

---

<div class="post-metadata">

**Author:** ![litox](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/litox/32/130_2.png) [@litox](https://pyar.discourse.group/u/litox)\
**Post date:** [11 Mayo, 2020 01:10 UTC](https://pyar.discourse.group/t/consulta-acerca-de-suites-de-test-compatibilidades-y-recomendaciones/191/9 "2020-05-11T01:10:48Z")

</div>

En la última [Python Developers Survey 2019](https://www.jetbrains.com/lp/python-developers-survey-2019/#FrameworksLibraries) (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).
