Sib*_*Guy 17 .net c# database entity-framework
我想实现我的Entity Framework驱动的存储库的集成测试.问题是如何在测试完成后回滚数据库状态.目前我正计划在测试SetUp上启动事务并在测试TearDown时将其回滚.除手动数据库清除外,还有其他解决方案吗?
Ste*_*ven 23
我们在使用MSTest时在集成测试中执行此操作.我们TransactionScope
在基类中使用并实现测试设置和拆解.这允许您在事务中运行所有集成测试.基类看起来很像这样:
public class IntegrationTestsBase
{
private TransactionScope scope;
[TestInitialize]
public void Initialize()
{
this.scope = new TransactionScope();
}
[TestCleanup]
public void TestCleanup()
{
this.scope.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
祝好运.
我认为你走在正确的轨道上......
这是一个与Linq To SQL相同的示例,您可以自己调整.
该帖子接着描述了最快的事务与单个会话相关联,并且可以创建一些真正的问题/限制.使用,如果你可以....
重建数据库很慢但绝对可行,但使用快照很快并且可以解决事务限制.
如果您需要在自动化测试中获得非常高的性能,请从同一个博客中尝试.他描述了使用MS Distributed Transaction Coordinator来消除单个会话的事务限制.
归档时间: |
|
查看次数: |
4723 次 |
最近记录: |