我使用的是Visual Studio 2017 Professional 15.4.5,我发现通过在.testsettings
菜单中选择遗留Test > Test Settings > Select Test Settings
来加载遗留Class Library
时,将无法发现单元测试
以下是重现它的步骤:
使用以下简单类创建一个目标框架为.NET Framework 4.5.2
的{{1}}项目:
public class Class1
{
public bool True => true;
}
使用目标框架Unit Test Project(.Net Framework)
创建.NET Framework 4.5.2
并设置项目参考并编写一个简单的测试:
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
Assert.IsTrue(new Class1().True);
}
}
运行测试,应发现并运行测试
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)========== < / 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>