【发布时间】:2017-09-15 10:12:22
【问题描述】:
我正在使用 JUnit 和 Mockito 进行一些单一测试。我想通过使用 Mockito.doThrow() 来处理异常,并且我已经在其他测试中使用了它,并且它以最好的方式工作。 现在我有:
Assigned newAssigned = new Assigned();
Mockito.doThrow(new SdkFault()).when(Api).addLicenseAssigned("2144", newAssigned );
当我在调试时运行测试时发现这个
Api.addLicenseAssinged(licenseId, newAssigned);
它应该得到异常并把它扔给我,对吗?还是我做错了什么? 而且我不是在嘲笑静态方法。
【问题讨论】:
-
什么是Api,是类还是类实例? addLicenseAssigned 是静态方法吗?
-
@pvpkiran Api 是一个类,但我无法访问他,除非我取消编译代码,因为它是一个与服务器通信的 api。但我认为这甚至都没有关系,因为考虑到我们会自动说“当调用 xxxx 方法时返回异常 SdkFault()”,我们永远不会到达代码
-
请修改您的问题。不要在 cmets 中在这里或那里放置信息。而是提供一个真正的minimal reproducible example within 你的问题。并遵循 java 命名约定。变量去
camelCase。通过将对象命名为Api而不是api,您正在创建一个您想要模拟 static 方法调用的对象 - 这在 Mockito 中是不可能的。
标签: exception junit mockito throw