Azure DevOps integration tests

Caute,

zaujima ma, ako vyzera vasa build pipeline, ked mate v zdrojakoch integracne testy (rozumej testy, ktore sa spustaju v release pipeline).

Ide mi o o maly technicky detail: ako tie testovacie projekty dostanete do releasu?

Buildujete ich v build pipeline?
Publishujete (dotnet publish) ich aj ked su to kniznice a nie web projekty?
Ak nepublishujete, ako ich skopirujete do artefaktov?

Ja som ich doteraz publishoval v build pipeline:

 task: DotNetCoreCLI@2
  displayName: 'dotnet publish tests'
  inputs:
    command: publish
    publishWebProjects: false
    projects: | 
     **/*IntegrationTests.csproj
     **/*E2ETests.csproj
    arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)/tests'
    zipAfterPublish: true

, ale mam pocit, ze to nieje najspravnejsia cesta, kedze tie testovacie projekty niesu na to urcene a musim robit pomerne vela customizacii v .csproj (napr ktore subory sa maju publishovat).

Ide mi o o maly technicky detail: ako tie testovacie projekty dostanete do releasu?

Este som to nikdy nerobil, neboli na to urcene. Povedzme, ze ich pouzivam klasicky. Ked som robil integracne testy, tak tie vzdy sli odomna z Visual Studia na testovaci server.

A na produkcii ani nie je SDK-cko.

Ked som uz potreboval nieco na otetovanie produkcneho nasadenia, tak sa robila konzolova aplikacia, kde sa sada “testov” definovala prepinacom.

nepotrebujes SDKcko, nato aby si spustil testy. Staci nejaky test runner a ten je sucastou tasku v pipeline, takze netreba ani nic instalovat. Podla mna su aj na toto (spustanie v relelease) test projekty urcene, je to ovela vhodnejsie ako konzolova aplikacia, uz len z toho dovodu, ze to je spravne reportovane spat. Napriklad na zalozke tests v release vidim ako mi zbehli testy aj so screenshotmi v pripade UI testov