Demonstration of automatic build-and-test for Windows applications using MSBuild and VSTest.Console.exe.
Note: This is for our cloud service https://circleci.com/. For use in CircleCI Server (the "on-premises" version of CircleCI), please refer to HelloVCSuite-Server
.
Fork this repository and setup a CircleCI project for your own copy.
The CircleCI workflow defined in .circleci/config.yml
yields two artifacts:
HelloVCExe.exe
frombuild
job: Consolidated executable - it will fill specified amount of RAM twice and then sayHello world!
wpr.etl
fromtest
job: ETW log by WPR for tests
This "suite" consists of three parts.
HelloVC
: Core logic. Compiled into a static libary.HelloVCExe
: A wrapper to create an executable.exe
file.HelloVCTest
: Unit tests forHelloVC
.
The core logic and a wrapper executable are separated because unit tests cannot be applied on an executable file. Keeping the wrapper (HelloVCExe
for this example) as simple as possible will enhance trustworthiness of test results. Additional E2E tests agains a generated .exe
file is also a good idea.
Open HelloVCSuite.sln
with your Visual Studio (the full-featured ones, not VSCode), and the rest will be taken care by VS. At the time of this writing the solution is tested with VS2019.