【发布时间】:2020-04-03 08:09:53
【问题描述】:
使用 mockito 时,我想我应该使用 when().thenreturn 来自定义返回值,即使这与真正的方法不同。我只是很困惑,如果一切都是模拟的(或假的?),mockito 如何测试该方法是否真的有效?
【问题讨论】:
-
它没有。这就是为什么你不能模拟一切。这也意味着有些人编写的测试完全没用,但他们甚至不明白为什么。测试本身就是一种艺术形式,所以即使你可能擅长编程,也不要认为你是一名优秀的测试人员。
-
不熟悉Java或mockito,但通常你不会mock你要测试的方法。您模拟对您要测试的代码段范围之外的其他类/函数/API 的调用。这样做的目的是确保您要测试的代码独立于外部代码是否有效。
标签: java unit-testing mocking mockito