![]() |
1
4
这些不是单元测试。单元测试是用来孤立地测试事物的。与数据库直接交互的东西不能单独测试,因为它们依赖于这个数据库。如果您想孤立地测试事物,您需要引入抽象级别,以避免组件之间的强耦合。在单元测试中,一种常见的技术是用模拟对象替换某个组件。例如,只有在抽象了数据库访问层的情况下,这才是可能的。 现在回到问题上来。如何测试数据库访问层?这些被称为集成测试。有许多技术可以用来执行与数据库的集成测试。其中一些包含一个测试数据库,该数据库在Setup方法中重新创建,并在TearDown方法中删除,这样所有测试都会假定要处理的有效状态。因此,您可能有一些脚本创建并用测试数据填充数据库,并且在运行每个测试之前调用这些脚本。您甚至可以将所有内容包装到数据库事务中,这些事务将在最后回滚。 |
![]() |
2
2
好吧,这取决于你想“单元”测试什么。
如果您想测试数据库层,那么创建一个单元测试可以写入和读取的测试数据库。
|
![]() |
3
1
|
|
wavesinaroom · 断言结构向量长度 6 月前 |
![]() |
Tim Kirkwood · 比较空数据帧 7 月前 |
![]() |
Kamran Khan · 使用单元测试ASP。NET核心 11 月前 |
![]() |
paymer · 为什么我的代码没有删除我的单元测试生成的zip文件? 1 年前 |
![]() |
Ricky Mo · 角度测试如何模拟导入的const 1 年前 |
![]() |
Natty · Visual Studio中缺少“代码覆盖率结果” 1 年前 |