zoukankan      html  css  js  c++  java
  • 测试之法 —— mock object

    mock object 与真实对象相比,用来构造测试场景。

    1. 一个实例

    一个闹钟根据时间来进行提醒服务,如果过了下午5点钟就播放音频文件提醒大家下班了,如果我们要利用真实的对象来测试的话就只能苦苦等到下午五点,然后把耳朵放在音箱旁,我们应该利用mock对象 来进行测试,这样我们就可以模拟控制时间了,而不用苦苦等待时钟转到下午5点钟了。

    • Environmental:抽象类

      public abstract class Environmental {
          private boolean playedWave = false;
          public abstract long getTime();
          public void playWavFile(String filename){
              playedWave = true;
          }
          public boolean wasPlayedWave() {
              return playedWave;
          }
          public void resetWave(){
              playedWave = false;
          }
      }
    • 银行实现类:

      public class BankEnvironment extends Environmental {
          public long getTime() {
              return System.currentTimeMillis();
          }
      }
      
    • mock 银行对象:

      public class MockBankEnvironment extends Environmental {
          private long currentTime;
          public long getTime() {
              return currentTime;
          }
          public void setTime(long time) {
              currentTime = time;
          }
      }
  • 相关阅读:
    [Java] [Exception]
    [Go back to REDIS]
    [Java] [内存泄露]
    [ZK] [Related Materials]
    [Scala] [Coursera]
    <zk在大型分布式系统中的应用>
    [Java] [Lock] [Synchronized VS ReentrantLock]
    [Data Structure] Tree
    投影矩阵的计算过程
    SQL Server 2012
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9420956.html
Copyright © 2011-2022 走看看