Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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 避免在使用mokito的单元测试期间运行代码块_Android_Unit Testing_Junit_Mockito - Fatal编程技术网

Android 避免在使用mokito的单元测试期间运行代码块

Android 避免在使用mokito的单元测试期间运行代码块,android,unit-testing,junit,mockito,Android,Unit Testing,Junit,Mockito,我正在android中使用Mokitio来运行单元测试用例。 我想做的是:在onCreate事件中有一个代码块 活动内容 我试图在运行单元测试时不运行这段代码 案例,并在应用程序期间定期运行 是否可以使用mokito执行类似的操作,因为mokito为活动生命周期进行同步 正确的解决方案是稍微改变一下您的设计。您不应该考虑代码块,而应该考虑功能 防止某些x行代码在特定环境中运行,但不在其他上下文中运行的方法。。。是通过使用适当的面向对象方法 含义:首先创建一个接口,描述我们正在讨论的代码行的功

我正在android中使用Mokitio来运行单元测试用例。

  • 我想做的是:在
    onCreate
    事件中有一个代码块 活动内容
  • 我试图在运行单元测试时不运行这段代码 案例,并在应用程序期间定期运行
  • 是否可以使用
    mokito
    执行类似的操作,因为mokito为活动生命周期进行同步

    • 正确的解决方案是稍微改变一下您的设计。您不应该考虑代码块,而应该考虑功能

      防止某些x行代码在特定环境中运行,但不在其他上下文中运行的方法。。。是通过使用适当的面向对象方法

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

      public interface DoTheFoo {
         public void foo(Bar bar);
      }
      
      然后创建该接口的“生产”实现DoTheFooImpl(这是一个副作用:您可能还能够为其编写适当的单元测试)

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


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

      < P>这里正确的解决方案是改变你的设计一点。您不应该考虑代码块,而应该考虑功能

      防止某些x行代码在特定环境中运行,但不在其他上下文中运行的方法。。。是通过使用适当的面向对象方法

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

      public interface DoTheFoo {
         public void foo(Bar bar);
      }
      
      然后创建该接口的“生产”实现DoTheFooImpl(这是一个副作用:您可能还能够为其编写适当的单元测试)

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

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