首先添加引用,在.net組件中加入System.Enterprise Services.
測試程序源代碼:
using System;
using NUnit.Framework;
using System.EnterpriseServices;
namespace TransactionTesting
{
[TestFixture]
[Transaction(TransactionOption.Required)]
public class DatabaseFixture:ServicedComponent
{
[TearDown]
public void TransactionTearDown()
{
if(ContextUtil.IsInTransaction)
{
ContextUtil.SetAbort();
}
}
}
}
使用C:Program FilesMicrosoft Visual Studio .NET 2003 DKv1.1Bin中的工具sn.exe -k test.snk產(chǎn)生一個密鑰,將test.snk拷貝到你的工程文件.sln所在的文件夾中,然后查找AssemblyInfo.cs ,改寫AssemblyKeyFile為
[assembly: AssemblyKeyFile(@".... est.snk")],按照上面設(shè)置后的程序,對數(shù)據(jù)的增刪改并不真正改變數(shù)據(jù)庫中的內(nèi)容,避免了垃圾數(shù)據(jù)
參考:
http://weblogs.asp.net/rosherove/articles/dbunittesting.aspx