私はインターネットとドキュメントを検索してきましたが、MS ユニット テストでユニット テストの前後の条件を設定できるかどうかがわかりません。
私は.net 4.5とvs 2012を使用しています。
例 Junit では、各単体テストの前と各単体テストの後に実行される @before と @after を持つことができます。私は同じアイデアを探しています。
私はインターネットとドキュメントを検索してきましたが、MS ユニット テストでユニット テストの前後の条件を設定できるかどうかがわかりません。
私は.net 4.5とvs 2012を使用しています。
例 Junit では、各単体テストの前と各単体テストの後に実行される @before と @after を持つことができます。私は同じアイデアを探しています。
Spec#を見てください。これにより、事前/事後条件を「宣言」できます。
編集 ああ、質問を間違って理解したかもしれません。[TestInitialize]と[TestCleanup ]を確認する必要があると思います。
すべてのアセンブリ レベル、クラス レベル、およびテスト メソッド (探しているもの) をうまく説明しているこの MSDN リンクのコメントと例を確認してください。
要するに、次の例は上記のリンクからのものです。
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SampleClassLib;
using System;
using System.IO;
using System.Windows.Forms;
namespace TestNamespace
{
[TestClass()]
public class DivideClassTest
{
[AssemblyInitialize()]
public static void AssemblyInit(TestContext context)
{
MessageBox.Show("Assembly Init");
}
[ClassInitialize()]
public static void ClassInit(TestContext context)
{
MessageBox.Show("ClassInit");
}
[TestInitialize()]
public void Initialize()
{
MessageBox.Show("TestMethodInit");
}
[TestCleanup()]
public void Cleanup()
{
MessageBox.Show("TestMethodCleanup");
}
[ClassCleanup()]
public static void ClassCleanup()
{
MessageBox.Show("ClassCleanup");
}
[AssemblyCleanup()]
public static void AssemblyCleanup()
{
MessageBox.Show("AssemblyCleanup");
}
[TestMethod()]
[ExpectedException(typeof(System.DivideByZeroException))]
public void DivideMethodTest()
{
DivideClass target = new DivideClass();
int a = 0;
int actual;
actual = target.DivideMethod(a);
}
}
}