Как проверить класс, который расширяет поток - PullRequest
1 голос
/ 25 апреля 2011

Java-методы могут быть протестированы с использованием утверждений, таких как assertEquals (, ), asssertTrue (_) в jUnit 4. Как использовать утверждения для проверки чего-то подобного:

public class MyThread extends Thread {
    public int val;

    public MyThread(int val){
        this.val = val;
    }

    @Override
    public void run(){
         // doSomeWork(); 
    }
}

Кроме того, нужно ли дождаться завершения выполнения run (), прежде чем jUnit вернет результаты теста?

1 Ответ

3 голосов
/ 25 апреля 2011

Сначала самое важное: обычно считается, что лучший дизайн - не наследовать там, где это не нужно.Обычно бывает так, что лучше спроектированный код легче тестировать.

Самый простой возможный способ проверить существующий код - вызвать run вместо start.Если вы хотите сохранить поток, вы можете позвонить Thread.join, чтобы дождаться завершения.Вы можете позвонить Thread.setUncaughtExceptionHandler, чтобы сообщить о любом непроверенном исключении из потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...