0
votes

I have a build that does the compilation and runs unit tests set up in Team City. Now I would like to add another build that runs integration tests. The requirements would be:

  1. The integration tests build uses the binaries compiled in the first build
  2. The integration tests build only runs after a successful first build
  3. In Team City the integration build displays correctly all the commits since the last build

There are two types of dependencies in Team City: artifact and snapshot. My requirements (1) and (2) suggest the artifact dependency, but (3) suggests snapshot. Also, even if I select a snapshot dependency, I still need to fill in the VSC properties on my build?

How can I configure my builds to get the required behaviour?

1

1 Answers

1
votes

You need to setup both an artifact and a snapshot dependency. That is perfectly normal. Filling in the VSC properties for the integration build is also quite common (this is used in case you want to tag the sources from the integration build, for instance). You might however run into situations where you don't need to access the sources in any way, and therefore not attach any VCS root.

By the way, I would suggest breaking your Compile and Unit Test steps into separate build configurations. This will allow the Unit Test and the Integration Tests to run in parallel once the Compile step finishes, optimizing the overall build time.