避免使用Mokito在单位测试期间运行的代码块



我正在使用Android中的Mokitio运行单位测试用例。

  • 我要做的事情:onCreate事件中有一个代码活动
  • 我试图在运行单元测试期间不运行此代码案例并在应用程序定期运行。
  • 可以使用mokito做类似的事情,因为Mokito同步活动生命周期

这里的正确解决方案是稍微更改设计。您不应该用代码块来思考,而应该用功能来思考。

防止某些X行在某个环境中运行的方法,但在某些情况下不是在其他情况下...使用适当的OO含义。

含义:首先创建一个界面,描述我们正在谈论的代码行的功能

public interface DoTheFoo {
   public void foo(Bar bar);
}

然后,您创建了该界面的"生产"实现 dothefooimpl (作为副作用:您也可以编写适当的单位测试)。

最后:在您的类中需要该功能,使用依赖项注入获取提供 dothefoo 接口的对象。在您的生产环境中,那将是 dothefooimpl 对象;但是对于您的单元测试,您只需为其创建一个模拟 - 配置为对FOO()的upen呼叫。

当然听起来有点工作;但关键是:目前,您的设计在某种程度上是不足的。而不是试图尝试肮脏的黑客/解决方法,而是考虑查看您的设计以确定一种更优雅的方法来解决您的问题。

相关内容

  • 没有找到相关文章

最新更新