![]() |
1
3
你需要嘲笑
|
![]() |
2
3
很难从您的描述中准确地看出类是如何组成的,但是应该通过它的构造函数或
这将允许您单独测试DAO,并允许您在单元测试中构造模拟数据源,并将其传递给正在测试的DAO。 |
![]() |
3
1
重构,以便将连接注入DAO,将DAO注入业务类。然后您可以模拟DAO和/或连接。您可以很容易地编写自己的mock来扩展连接并重写connect()以设置一个布尔值,稍后您可以通过一个方法(如wasconnectcalled())来检索该布尔值。 |
![]() |
4
1
我绝对推荐你用 spring-jdbc 而不是自己写这种代码。这将确保连接、语句和结果集正确关闭。Spring还有出色的事务管理,所以您不必担心这一点。 例如,使用SpringJDBC查看这个典型的更新语句:
|
![]() |
5
0
使busines类从全局/静态对象工厂检索局部变量。这样,您就可以将工厂置于测试模式,并使它返回模拟对象而不是真实对象。 那就可以了。 |
![]() |
6
0
@保罗附议了。一旦您将连接的管理分离出来,您就可以在回调中编写其余的行为,并将其传递给拥有连接的对象,比如UnitOfWork。连接所有者处理事务,并将连接传递给UnitOfWork。一个地方的事务——易于测试,另一个地方的UnitOfWork,使用模拟连接进行测试。 |
![]() |
Phil Gunning · 使用嵌套函数更改进行模拟测试 2 年前 |
![]() |
Korr · 如何用Jest模拟组件测试中服务的功能 2 年前 |
![]() |
Jordan Lee · 在另一个类中使用实例方法作为装饰器 6 年前 |
![]() |
user2350138 · 为WireMock构建Java项目 6 年前 |
|
user8584384 · 单元测试不起作用,因为导入的文件作为输入 6 年前 |
![]() |
Vino · 如何模拟Python类的对象? 6 年前 |
![]() |
Enrico · .NET核心ASP。带有会话和测试的NET控制器 6 年前 |