# 11.2.1 Integración continua y pruebas automáticas con Bitbucket

Para configurar que se compile tu proyecto y se corran las pruebas unitarias

Da clic en Pipelines

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKmGSg4qhizjqeDPHJC%2F-LsEXHystnnFzG_REU3d%2F-LsEXeHWF9L2yoCOBMmj%2Fimage.png?alt=media\&token=982dcba6-6fbb-496d-a8d9-04b1d1996a2c)

Te muestra una imagen donde te indica todos los tipos de proyecto que se pueden compilar. Si le das clic te muestra una página con el código Yaml necesario para cada tipo de proyecto.

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKmGSg4qhizjqeDPHJC%2F-LsEZdokYBNM8crZyD1A%2F-LsE_Oii23WSCot5k4m7%2Fimage.png?alt=media\&token=800caeae-9837-43e9-a0d4-273d29fada46)

Realiza un scroll hacia abajo y del Combo de **More** elegimos **.Net Core**

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKmGSg4qhizjqeDPHJC%2F-LsEZdokYBNM8crZyD1A%2F-LsEaw52h51j82kRGPEb%2Fimage.png?alt=media\&token=72cdb265-742d-4b8a-a364-de3f73b89b8e)

Se nos agrega el código para compilar y correr el proyecto de pruebas, cambia el código de **PROJECT\_NAME** por **CaducaRest** y **TEST\_NAME** por **xUnit.CaducaRest** que son los nombres de tus proyectos tanto de .Net Core como el de pruebas

```yaml
# This is a sample build configuration for .NET Core.
# Only use spaces to indent your .yml configuration.
# -----
# You can use any Docker image from Docker Hub, 
# or your own container registry, as your build environment.
image: microsoft/dotnet:sdk
pipelines:
  default:
    - step:
        script: # Modify the commands below to build 
          # your repository.
          - export PROJECT_NAME=CaducaRest
          - export TEST_NAME=xUnit.CaducaRest
          - dotnet restore
          - dotnet build $PROJECT_NAME
          - dotnet test $TEST_NAME
```

En la sección image se especifica la imagen de docker que va correr tus tests en este caso la imagen de docker es microsoft/dotnet:sdk

En pipelines se configuran los diferentes pasos

En script puedes ejecutar comandos de la línea de comandos en este caso se declara una variable PROJECT\_NAME = CaducaRest y TEST\_NAME xUnit.CaducaRest

Se ejecuta el comando **dotnet restore** para que descargue los paquetes nuget a la imagen de docker

Luego con el comando **dotnet build** se hace el build del proyecto

Por último con el comando **dotnet test** se ejecutan las pruebas del proyecto de pruebas unitarias

Da clic en **Commit file**

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKmGSg4qhizjqeDPHJC%2F-LsEZdokYBNM8crZyD1A%2F-LsEbNz7YJXGBroSvKMd%2Fimage.png?alt=media\&token=71acd29a-b8cc-4867-8680-f2d780006016)

Tu código se empezara a compilar

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKmGSg4qhizjqeDPHJC%2F-LsEZdokYBNM8crZyD1A%2F-LsEbbBolMOmC4bVK_fh%2Fimage.png?alt=media\&token=e1873b17-9882-40cc-b965-101bb656d714)

Si todo es correcto verás una página similar a esta

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKmGSg4qhizjqeDPHJC%2F-LsEZdokYBNM8crZyD1A%2F-LsElejkezvYY6c4Qgbp%2Fimage.png?alt=media\&token=aa2ecb43-1282-4452-805e-02eea48351d8)

De esta manera de forma automática cada vez que un usuario da commit se compila el proyecto y se ejecutan las pruebas de forma automática, si ocurre algún error se envía un correo indicando el error.

En caso de que el código tenga algún error se verá una imagen como esta, para este ejemplo cambie el código de la prueba para sumar dos números, para que en lugar de sumar reste, se muestra el detalle del error

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKmGSg4qhizjqeDPHJC%2F-LsEZdokYBNM8crZyD1A%2F-LsEmDk17hwFSGGHyiLQ%2Fimage.png?alt=media\&token=286bb6b5-6bf5-4601-bff1-f3c71656e1f3)

Visual Studio también cuenta con una extensión para BitBucket la cual te permite conectarte a tus proyectos Bitbucket de forma más fácil.

El servicio de explicación para BitBucket esta aquí <https://bitbucket.org/product/es/features/pipelines>

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LKmGSg4qhizjqeDPHJC%2F-LsEXHystnnFzG_REU3d%2F-LsEXeHWF9L2yoCOBMmj%2Fimage.png?alt=media\&token=982dcba6-6fbb-496d-a8d9-04b1d1996a2c)
