这有可能编写好的测试,避免嘲笑和"期望"关于iternal方法?

时间:2017-02-24 09:18:00

标签: php unit-testing phpunit

这可以避免在phpunit中进行模拟吗?

我的理念是: - 编写单元测试以测试较小的部件 - 当进行集成/功能测试时,可以使用依赖注入注入空对象类(因此,所有接口都很好)。但集成测试可以与单元测试分开。

我不喜欢嘲笑的原因是我发现它在每次测试中都未被充分利用,它完全不可读。我正在考虑在单元测试和集成测试上进行分离。

这在大多数情况下是否可以替代嘲弄,还是嘲笑根本不可替换?什么是最佳做法?

1 个答案:

答案 0 :(得分:0)

当然,你不必使用模拟器。您需要fakes

  假冒伪造避免过度指定非常侵入性合同的测试,例如   通话顺序和精确参数;一个真正的实现是   对合同的变化更加强大。

这有助于专注于测试的本质(因为你没有在测试中放置长模拟的期望)。此外,它可以完全取代模拟。

考虑this article中的示例。