Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Mockito vs类的测试实现_Android_Junit_Mocking_Mockito - Fatal编程技术网

Android Mockito vs类的测试实现

Android Mockito vs类的测试实现,android,junit,mocking,mockito,Android,Junit,Mocking,Mockito,我一直在浏览Volley的源代码,发现每个类或接口都有一个测试实现 与仅使用Mockito模拟对象相比,为其他每个类编写Test类更可取吗?一个广泛的问题,但让我们收集基本事实: 编写自己的定制测试“存根”使您能够实现自己的“测试支持”愿景 特别是,您对模拟框架没有任何依赖关系 换句话说:你决定在一定程度上重新发明轮子。这可以防止你遇到别人写下的错误,冒着自己犯错误的风险 从这个意义上说,这可以归结为一个古老的讨论“购买或制造你自己” 当谈到测试用例时,有许多专家建议不要依赖模拟框架。所以这

我一直在浏览
Volley
的源代码,发现每个类或接口都有一个测试实现


与仅使用
Mockito
模拟对象相比,为其他每个类编写
Test
类更可取吗?

一个广泛的问题,但让我们收集基本事实:

  • 编写自己的定制测试“存根”使您能够实现自己的“测试支持”愿景
  • 特别是,您对模拟框架没有任何依赖关系
换句话说:你决定在一定程度上重新发明轮子。这可以防止你遇到别人写下的错误,冒着自己犯错误的风险

从这个意义上说,这可以归结为一个古老的讨论“购买或制造你自己”

当谈到测试用例时,有许多专家建议不要依赖模拟框架。所以这是一种普遍的做法,但我认为是“少数”的做法

我个人的两点意见是:理想情况下,您应该编写可以在没有任何模拟框架的情况下进行测试的生产代码。但这并不总是可能的。对于这些情况,工具箱中有一个模拟框架。您知道如何以合理的方式使用它来完成测试。我会发现手动完成所有测试存根太麻烦了。为了一个相对较小的收益付出了很多努力