![]() |
1
4
这些不是单元测试。单元测试是用来孤立地测试事物的。与数据库直接交互的东西不能单独测试,因为它们依赖于这个数据库。如果您想孤立地测试事物,您需要引入抽象级别,以避免组件之间的强耦合。在单元测试中,一种常见的技术是用模拟对象替换某个组件。例如,只有在抽象了数据库访问层的情况下,这才是可能的。 现在回到问题上来。如何测试数据库访问层?这些被称为集成测试。有许多技术可以用来执行与数据库的集成测试。其中一些包含一个测试数据库,该数据库在Setup方法中重新创建,并在TearDown方法中删除,这样所有测试都会假定要处理的有效状态。因此,您可能有一些脚本创建并用测试数据填充数据库,并且在运行每个测试之前调用这些脚本。您甚至可以将所有内容包装到数据库事务中,这些事务将在最后回滚。 |
![]() |
2
2
好吧,这取决于你想“单元”测试什么。
如果您想测试数据库层,那么创建一个单元测试可以写入和读取的测试数据库。
|
![]() |
3
1
|
![]() |
mg610 · 如何开始C++单元测试 2 年前 |
![]() |
Phil Gunning · 使用嵌套函数更改进行模拟测试 3 年前 |
![]() |
shilin agre · 在Python中测试修饰函数 3 年前 |
![]() |
SlipScout · Unittest只传递单个值,而不是获取多个值 3 年前 |
![]() |
Alex · 从实际对象的实例返回默认模拟结果 3 年前 |