Inherited test class from generic base is ignored in MSTest

后端 未结 4 650
死守一世寂寞
死守一世寂寞 2021-01-04 00:14

When creating a generic base test class in MSTest, and inheriting from it, I\'m unable to run the tests of all the inheriting classes.

4条回答
  •  悲哀的现实
    2021-01-04 00:58

    Steven's answer of adding the base class source file as a link and then compiling it into the test dll worked for me as well.

    However, starting in VS 2013 Update 2 there is now a concept of a "Shared Project" which is a way to formalize the idea of pulling in source code from another project into your project and then compiling them as one.

    Here's what I did

    1. Create new "Shared Projects" project
    2. Move current test base class (and other needed files) into the shared project
    3. Add a reference to the shared project from your test project (more on this below)
    4. Compile, test, and be merry

    At least on VS2015 Update 2, step 3 isn't as straight forward as I think it should be. Per this answer Visual studio doesn't provide you an easy way to link shared projects to test projects (go figure...). This is what I had to do:

    1. Unload the .csproj file,
    2. Right-click and edit the .csproj file
    3. Go all the way to the bottom and add this to the start of the grouping (fix path and name as needed, make sure to add Label="Shared"!):

      
      
    4. Save and close the file

    5. Reload the project

提交回复
热议问题