{"id":12555,"date":"2017-01-20T12:15:46","date_gmt":"2017-01-20T17:15:46","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/?p=12555"},"modified":"2019-02-16T22:46:07","modified_gmt":"2019-02-16T22:46:07","slug":"open-sourcing-the-vs-test-platform","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/open-sourcing-the-vs-test-platform\/","title":{"rendered":"Open sourcing the VS Test platform"},"content":{"rendered":"<p>Yesterday we released our unit test execution infrastructure as an <a href=\"https:\/\/github.com\/Microsoft\/vstest\">open source project<\/a>.\u00a0 You&#8217;ll also find an <a href=\"https:\/\/github.com\/Microsoft\/vstest-docs\">open source project with the documentation<\/a>.\nVSTest is a very extensible unit test execution framework.\u00a0 The base engine, discovers tests and runs them.\u00a0 It can parallelize across cores, provides process isolation and can integrate with Visual Studio.\u00a0 It has extensibility for different test frameworks, code coverage, test impact analysis, data collection, test result reporting and much more.\nTo give you a little context on what I&#8217;m talking about I&#8217;ve put together an architecture diagram.\u00a0 The pieces we open sourced yesterday are in yellow.\u00a0 My diagram of the end to end solution includes clients like VS and VSCode (and others) on the left &#8211; though you can just use the command line directly and just skip that swim lane.\u00a0 We released our cross platform runner and the host process that discovers, loads and runs the tests.\nTests generally use some test framework and vstest supports many.\u00a0 Many of the test adapters\u00a0are open source or available as NuGet packages.\u00a0 You can checkout the <a href=\"https:\/\/marketplace.visualstudio.com\/search?term=%22Test%20Adapter%22&amp;target=VS&amp;sortBy=Relevance\">VS marketplace <\/a>for a sampling of them.\u00a0 We did not open source any new adapters with this release &#8211; but we don&#8217;t even build most of them.\u00a0 The big one we do build is MSTestV2 and VERY MANY people use it.\u00a0 We did not open source that framework at this time but we plan to in the next few months &#8211; it just wasn&#8217;t ready at this time.\n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/TestArch.png\"><img decoding=\"async\" width=\"879\" height=\"235\" class=\"alignnone size-large wp-image-12565\" alt=\"testarch\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/TestArch-1024x274.png\" \/><\/a>\nIf you use unit testing in VS, there&#8217;s a good chance you use this infrastructure already.\u00a0 If you are using the unit testing capabilities that have been delivered in the .NET Core previews, you are also using it.\u00a0 Now it is open source so you can see how it works and, ultimately, contribute to it.\u00a0 We have not yet opened up the project for contributions but we will.\u00a0 Again, crawl, walk, run.\nThanks and, as always, any feedback or questions are welcome\nBrian\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday we released our unit test execution infrastructure as an open source project.\u00a0 You&#8217;ll also find an open source project with the documentation. VSTest is a very extensible unit test execution framework.\u00a0 The base engine, discovers tests and runs them.\u00a0 It can parallelize across cores, provides process isolation and can integrate with Visual Studio.\u00a0 It [&hellip;]<\/p>\n","protected":false},"author":244,"featured_media":14617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[4],"class_list":["post-12555","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>Yesterday we released our unit test execution infrastructure as an open source project.\u00a0 You&#8217;ll also find an open source project with the documentation. VSTest is a very extensible unit test execution framework.\u00a0 The base engine, discovers tests and runs them.\u00a0 It can parallelize across cores, provides process isolation and can integrate with Visual Studio.\u00a0 It [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/12555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/users\/244"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/comments?post=12555"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/12555\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media\/14617"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media?parent=12555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=12555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=12555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}