RSo*_*erg 6 sql asp.net-mvc integration-testing unit-testing linq-to-sql
您如何通过在实现中使用LINQ 2 SQL的域层/模型(存储库)对数据库进行集成测试,并在发现数据库时保留数据库?换句话说,对DB进行单元测试的理想世界,集成测试会在发现它时留下数据库.
那里有工具可以自动处理吗?通过存储库对DB执行集成测试的最佳实践是什么?
Spring 框架在使用 NUnit 时提供对集成测试的支持。NUnit 类位于程序集 Spring.Testing.NUnit.dll 中。其中有一些执行事务管理的类。这些类为每个测试创建并回滚数据库事务。您只需编写可以假设事务存在的代码即可。
这是否真的适用于 Linq to SQL 是另一回事。Spring 表示这适用于 ORM。SQL Server 2008 允许您嵌套事务,因此理论上您可以启动事务,通过 Linq to SQL 类执行测试,然后回滚事务。但我没
试过。
Ryan Garaguay 有一篇关于此的有趣文章,其中使用TransactionScope和 NUnit 回滚数据库更改(尽管他在测试代码中使用 SQLCommand 和 SQLConnection 对象,而不是 Linq)
归档时间: |
|
查看次数: |
473 次 |
最近记录: |