指定旧版测试设置时,在Visual Studio 2017中未发现并执行单元测试

时间:2017-12-08 05:41:22

标签: unit-testing visual-studio-2017

我使用的是Visual Studio 2017 Professional 15.4.5,我发现通过在.testsettings菜单中选择遗留Test > Test Settings > Select Test Settings来加载遗留Class Library时,将无法发现单元测试

以下是重现它的步骤:

  1. 创建新解决方案
  2. 使用以下简单类创建一个目标框架为.NET Framework 4.5.2的{​​{1}}项目:

    public class Class1
    {
        public bool True => true;
    }
    
  3. 使用目标框架Unit Test Project(.Net Framework)创建.NET Framework 4.5.2并设置项目参考并编写一个简单的测试:

    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            Assert.IsTrue(new Class1().True);
        }
    }
    
  4. 运行测试,应发现并运行测试

  5. 使用解决方案上下文菜单选择Add > New Item,在左侧窗格中选择Test Settings,然后在中间选择Test Settings以创建新的测试设置。
  6. 只需关闭对话框即可跳过设置。点击菜单Test > Test Settings > Select Test Settings
  7. 设置测试设置
  8. 再次运行测试,未执行测试,并且可以在“输出”窗格中看到一些信息:
  9.   

    [2017/12/08 13:36:20信息] ------运行测试开始------

         

    [2017/12/08 13:36:22警告]警告:MSTest V2适配器不支持testsettings文件或ForcedLegacyMode设置为true的runsettings。

         

    [2017/12/08 13:36:22错误]测试适配器发回一个未知测试用例的结果。忽略' TestMethod1'。

    的结果      

    [2017/12/08 13:36:22信息] ==========运行测试完成:0运行(0:00:01.9851985)========== < / p>

    更新

    要回答@aruna,我再次按照自己的指示使用VS2017 Professional 15.5.7

    测试仍然无法运行但输出不同:

      

    [2018/03/01 13:39:13信息] ------加载播放列表开始------

         

    [2018/03/01 13:39:13信息] ==========加载播放列表已完成(0:00:00.001)==========

         

    [2018/03/01 13:40:46信息] ------发现测试开始------

         

    [2018/03/01 13:40:48信息] ==========发现测试结束:1找到(0:00:02.1855628)========== < / p>      

    [2018/03/01 13:40:48信息] ------运行测试开始------

         

    [2018/03/01 13:40:49信息] ==========运行测试完成:1次运行(0:00:01.5406918)========== < / p>      

    [2018/03/01 13:41:32信息] ------运行测试开始------

         

    [2018/03/01 13:41:34警告]警告:MSTest V2适配器不支持testsettings文件或ForcedLegacyMode设置为true的runsettings。

         

    [2018/03/01 13:41:34警告] D:\ git \ demo \ unit-test-legacy-settings \ UnitTestProject1 \ bin \ Debug \ UnitTestProject1.dll中没有可用的测试。确保测试发现者&amp;执行人员已注册,平台和框架版本设置是合适的,然后再试一次。

         

    [2018/03/01 13:41:34信息] ==========运行测试完成:0运行(0:00:02.0727927)========== < / p>

0 个答案:

没有答案