gpt4 book ai didi

java - 如何强制方法在 jUnit 测试中抛出异常?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:49:20 24 4
gpt4 key购买 nike

实际上这是为了代码覆盖,我很难覆盖到 catch 语句。有任何想法吗?

例如:

我希望我的 selectSomethingBySomething() 方法(从 db 中选择)抛出一个 SQLException,这在测试方法上非常困难,但实际上没有触及实际的源代码。还考虑到我只能控制的是 WHERE 子句的参数。

最佳答案

您需要先模拟包含 selectSomethingBySomething() 的类,然后记录此行为。在 你会说:

SomeDao someDaoMock = mock(SomeDao.class);

willThrow(new SQLException())).given(someDaoMock).selectSomethingBySomething();

然后将 someDaoMock 注入(inject)被测类,当它调用 someDaoMock.selectSomethingBySomething() 时,它会抛出先前选择的异常。

关于java - 如何强制方法在 jUnit 测试中抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11565196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com