首先添加引用,在.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 2003SDKv1.1Bin中的工具sn.exe -k test.snk产生一个密钥,将test.snk拷贝到你的工程文件.sln所在的文件夹中,然后查找AssemblyInfo.cs ,改写AssemblyKeyFile为
[assembly: AssemblyKeyFile(@".... est.snk")],按照上面设置后的程序,对数据的增删改并不真正改变数据库中的内容,避免了垃圾数据
参考:
http://weblogs.asp.net/rosherove/articles/dbunittesting.aspx
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8781179/viewspace-924570/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8781179/viewspace-924570/
本文介绍如何在.NET环境中通过System.EnterpriseServices进行事务隔离测试。利用NUnit框架和TransactionOption特性,确保测试过程中对数据库的操作不会产生副作用。文章还详细说明了如何配置密钥文件以支持这些操作。
873

被折叠的 条评论
为什么被折叠?



