Luk*_*Fan 10 unit-testing visual-studio-2017
我正在使用Visual Studio 2017 Professional 15.4.5,我发现.testsettings通过在Test > Test Settings > Select Test Settings菜单中选择遗留加载旧版时将不会发现单元测试
以下是重现它的步骤:
使用以下简单类创建Class Library具有目标框架的项目.NET Framework 4.5.2:
public class Class1
{
public bool True => true;
}
Run Code Online (Sandbox Code Playgroud)创建一个Unit Test Project(.Net Framework)带有目标框架.NET Framework 4.5.2和设置项目参考并编写一个简单的测试:
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
Assert.IsTrue(new Class1().True);
}
}
Run Code Online (Sandbox Code Playgroud)运行测试,应该发现并运行测试
Add > New Item,Test Settings在左侧窗格中选择Test Settings并在中间选择以创建新的测试设置.Test > Test Settings > Select Test Settings [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)==========
为了回答@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)==========
[2018/03/01 13:40:48信息] ------运行测试开始------
[2018/03/01 13:40:49信息] ==========运行测试完成:1次运行(0:00:01.5406918)==========
[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中没有可用的测试.确保已注册测试发现者和执行者,并且平台和框架版本设置是适当的,然后重试.
[2018/03/01 13:41:34信息] ==========运行测试完成:0运行(0:00:02.0727927)==========