25 votos

Pruebas unitarias para plugins de QGIS 3

Hay un buen recurso en pruebas unitarias para QGIS . También hay un post sobre esto, Redacción de pruebas automatizadas para plugins de QGIS que requiere el uso de docker y se basa en el plugin QGIS 2 - Comprobador de QGIS .

Los avances en QGIS 3 están relacionados con dos plugins: 1) Comprobador y 2) Pruebas básicas de QGIS .

Cómo se relaciona todo esto con la pantalla final de QGIS Plugin Builder una vez que activamos el Unit Tests casilla de verificación? ¿Por dónde empezar cuando queremos probar unitariamente los plugins desarrollados?

enter image description here

2voto

Fluffy Puntos 6908

Si conoce pytest podría intentar utilizar pytest-qgis para escribir pruebas unitarias para QGIS. Usted no necesita ninguno de los boilerplate de iniciar el QGIS ya que lo hace automáticamente.

A continuación se muestra un ejemplo de prueba que comprueba que se ha añadido una capa al proyecto:

def test_plugin(qgis_countries_layer):
    project = QgsProject.instance()
    project.addMapLayer(qgis_countries_layer)
    assert project.count() == 1
    assert project.mapLayersByName(qgis_countries_layer.name()) == [qgis_countries_layer]

Dado que pytest no forma parte de la biblioteca estándar de Python, se sugiere crear un entorno virtual para ejecutar las pruebas:

  1. python -m venv --system-site-packages .venv
  2. source .venv/bin/activate o .venv\Scripts\activate.bat en Windows
  3. pip install pytest-qgis
  4. Finalmente ejecuta pytest para ejecutar la(s) prueba(s)

Descargo de responsabilidad: Soy uno de los autores de pytest-qgis.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X