2016-11-24 34 views
1

我在android中使用Mokitio运行单元测试用例。避免使用mokito在单元测试期间运行代码块

  • 我所试图做的事:有代码在活动
  • 我尽量不运行单元测试 案件过程中运行的代码块和应用程序中运行的onCreate事件 块经常。
  • 是否有可能做这样的使用mokito东西,因为mokito同步的活动的生命周期

回答

0

这里的妥善解决办法是改变你的设计了一下。你不应该认为代码块,但在功能

防止某些x行代码在特定环境中运行但不在某些其他环境中的方法是使用适当的OO方法。

含义:首先创建一个描述功能的这些代码行的我们正在谈论的接口:

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

然后创建一个“生产”的实现,接口的DoTheFooImpl(其为一个副作用:你也许可以编写适当的单元测试)。

最后:你的类需要该功能中,使用依赖注入收购对象提供DoTheFoo接口。在您的生产环境中,这将是一个DoTheFooImpl对象;但是对于你的单元测试,你只需要为它创建一个模拟 - 配置为不对foo()进行任何调用。

当然,这听起来像是一点工作;但重点是:目前,您的设计有些不足。而不是试图去肮脏的黑客/变通办法,考虑看看你的设计,以确定一个更优雅的方式来解决你的问题。

相关问题