es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Codefresh allure pytest Codefresh allure pytest

Estoy tratando de usar Allure para Code Fresh. Estamos utilizando pytest para generar informes. Después de clonar el repositorio, en la documentación se menciona que se debe ejecutar las siguientes pruebas:

imagen: node
título: Ejecución de pruebas unitarias
comandos:
– npm test
– cp -r -f ./allure-results $CFVOLUME_PATH/allure-results

Quiero usar pytest. Soy nuevo en Code Fresh. Estoy tratando de entender cómo reflejar el informe Allure de pytest allí y enviarlo al volumen de Code Fresh después de clonar el repositorio de GitHub. ¿Debo proporcionar un directorio de trabajo? En el código anterior no están utilizando ningún comando de clonación de git o directorio de trabajo. Si uso un archivo Docker, ¿hay alguna manera de enviar los informes al volumen de Code Fresh? Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para usar pytest con Allure en Codefresh, deberá modificar el código en la documentación para reflejar su configuración específica. Aquí están los pasos que puede seguir:

    1. Clonar el repositorio de GitHub donde se encuentra su código en su máquina local.
    2. Abrir el repositorio en un editor o IDE de su elección.
    3. Crear un Dockerfile que especifique el entorno en el que ejecutará sus pruebas, incluyendo pytest y Allure. Por ejemplo:
    FROM python:3.7
    
    RUN apt-get update && apt-get install -y \
        chromium \
        && rm -rf /var/lib/apt/lists/*
    
    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt
    
    RUN curl -O https://repo1.maven.org/maven2/io/qameta/allure/allure-commandline/2.14.0/allure-commandline-2.14.0.zip \
        && unzip -q allure-commandline-2.14.0.zip -d /opt \
        && ln -s /opt/allure-2.14.0/bin/allure /usr/bin/allure \
        && rm allure-commandline-2.14.0.zip
    
    COPY . /app
    WORKDIR /app
    
    CMD ["pytest", "--alluredir=allure-results"]
    

    En este ejemplo, estamos creando un entorno de Python 3.7 e instalando los paquetes necesarios con pip. También descargamos y extraemos Allure, lo hacemos ejecutable y lo agregamos al PATH. Finalmente, copiamos nuestro código en la imagen y establecemos el directorio de trabajo en /app. Especificamos el comando a ejecutar como pytest --alluredir=allure-results, lo cual generará un informe de Allure en el directorio allure-results.

    1. Crear un pipeline de Codefresh que haga referencia a su Dockerfile y especifique el volumen de Codefresh en el que almacenar el informe de Allure. Por ejemplo:
    version: '1.0'
    
    steps:
      main_clone:
        title: clonando repositorio principal
        type: git-clone
        repo: <url de="" su="" repositorio="">
        revision: <hash del="" commit="" o="" rama="">
    
      build_image:
        title: construyendo imagen de Docker
        type: build
        image_name: <nombre de="" la="" imagen="">
        working_directory: .
        dockerfile: Dockerfile
    
      run_tests:
        title: ejecutando pytest
        image: <nombre de="" la="" imagen="">
        commands:
          - pytest --alluredir=allure-results
    
      copy_report:
        title: copiando informe de Allure al volumen de Codefresh
        image: node
        commands:
          - cp -r -f ./allure-results $CF_VOLUME_PATH/allure-results
    

    En este pipeline, clonamos nuestro repositorio, construimos la imagen de Docker utilizando el Dockerfile que creamos anteriormente, ejecutamos pytest con la bandera --alluredir=allure-results para generar el informe de Allure, y finalmente copiamos el informe al volumen de Codefresh. Puede personalizar image_name para referirse al registro de Docker y al nombre de imagen que prefiera.

    1. Cuando active el pipeline, Codefresh clonará su repositorio, construirá la imagen de Docker, ejecutará pytest con Allure y almacenará el informe en el volumen de Codefresh. Puede ver el informe haciendo clic en el icono de Allure en los detalles de ejecución del pipeline.

Comments are closed.