在 Visual Studio 2010 Pro 中,我如何将传统程序集轻松转换为 MS 单元测试程序集?
是否有在 .csproj 文件中激活的标志?
在 Visual Studio 2010 Pro 中,我如何将传统程序集轻松转换为 MS 单元测试程序集?
是否有在 .csproj 文件中激活的标志?
向项目中添加以下代码行:
C#:
<Project>
<PropertyGroup>
<AssemblyName>....</AssemblyName>
<!-- add this line below -->
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup>
</Project>
VB - <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{F184B08F-C81C-45F6-A57F-
5ABD9991F28F}</ProjectTypeGuids>
请注意,您需要手动添加对 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 的引用,以便能够使用与测试相关的属性
更新:在即将到来的MSTest V2中,这不再是必要的,因为MSTest成为一个NuGet包,可以像NUnit/XUnit一样使用。
MSTest.TestAdapter
和MSTest.TestFramework
,然后使用[TestClass]
和[TestMethod]
属性。它们将自动被发现并列在Test Explorer
中。不需要手动添加ProjectTypeGuids
来启用测试。// MyFancyClassTests.cs
namespace MyTests
{
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class MyFancyClassTest
{
private readonly MyFancyClass _MyFancyClass;
public MyFancyClassTest()
{
_MyFancyClass= new MyFancyClass();
}
[TestMethod]
public void MyFancyClass_UninitializedName_ReturnsEmptyString()
{
Assert.AreEqual(string.Empty, _MyFancyClass.Name);
}
}
}
单元测试项目只是一个类库,其中包含带有属性[TestClass]的类,.csproj文件没有任何标志。您可以将类添加到您的项目中并设置属性[TestClass],它将成为测试类。