如何使用循环和异步方法模拟类



当我有异步方法、线程和循环时,我将如何使用 mockito 模拟类 USBConnection?这种原型背后的基本思想是,USBConnection应该每秒将数据发送到Arduino中的可变速度.class Arduino每秒打印出值。

USBConnection类是我想模拟的类。感谢实现这一目标的任何提示和指南。

public abstract class Arduino {
private static int speed;
public static void setSpeed(int a) {
    speed = a;
}
public static int getSpeed(){
    return speed;
}
public static void printSpeed(){
    System.out.println(speed);  
    }
public static void main(String[] args) throws InterruptedException {
    USBConnection usb = new USBConnection();
    Thread usbThread = new Thread(usb);
    usbThread.start();
    while(true){
        printSpeed();
        Thread.sleep(1000);
    }
}}

界面

interface USB {
 public void sendSpeed(int a);    }

我们需要模拟的类:

class USBConnection implements Runnable, USB {
public void sendSpeed(int a){
    Arduino.setSpeed(a);
}
@Override
public void run() {
    int i = 0;
    while(true){            
        sendSpeed(i);
        i++;            
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}}

基于一些试验和错误以及Christoper的评论,我决定不以上面提到的这种方式使用mockito。

我们重新设计了软件架构,不会用循环或线程来模拟类。

相关内容

  • 没有找到相关文章

最新更新