Visual Studio 2010 Pro で、クラシック アセンブリを ms ユニット テスト アセンブリに簡単に変換するにはどうすればよいですか?
.csproj ファイルで有効にするフラグはありますか?
Visual Studio 2010 Pro で、クラシック アセンブリを ms ユニット テスト アセンブリに簡単に変換するにはどうすればよいですか?
.csproj ファイルで有効にするフラグはありますか?
問題は、テスト プロジェクトがプロジェクト ファイルで「マーク」されていることです。次の 4 つの簡単な手順に従って、クラス ライブラリをテスト プロジェクトに変換できます。
次の行をプロジェクト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 が NUnit/XUnit と同じように機能する NuGet パッケージになるため、これは必要ありません。
Visual Studio 2017 では、nuget パッケージMSTest.TestAdapter
をMSTest.TestFramework
C# プロジェクトに追加し、それ以降は[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]を設定すると、テストクラスになります。