selectSomethingBySomething

selectSomethingBySomething

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

例如:

我希望我的 selectSomethingBySomething() 方法(从 db 中选择)抛出一个 SQLException ,这对测试方法来说非常困难,而无需实际接触实际的源代码。还考虑到我只能控制的是 WHERE 子句的参数的约束。

最佳答案

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

SomeDao someDaoMock = mock(SomeDao.class);

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

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

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

10-11 03:42