首先添加引用,在.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 files\microsoft visual studio .net 2003 dk\v1.1\bin中的工具sn.exe -k test.snk产生一个密钥,将test.snk拷贝到你的工程文件.sln所在的文件夹中,然后查找assemblyinfo.cs ,改写assemblykeyfile为
[assembly: assemblykeyfile(@"..\..\test.snk")],按照上面设置后的程序,对数据的增删改并不真正改变数据库中的内容,避免了垃圾数据
参考:
http://weblogs.asp.net/rosherove/articles/dbunittesting.aspx