JUnit - предположить, что NotNull выдает исключение вместо пропуска теста - PullRequest
0 голосов
/ 17 января 2019

В моем тестовом классе у меня есть такой setUp ()

import static org.junit.Assume.*;
import org.junit.Test;

@Override
protected void setUp() throws Exception
{
    super.setUp();
    client = new MyClient();
    client.initialize();
}

В MyClient, который является подклассом тестового класса, есть:

private static class MyClient
{
Socket socket = null;

public void initialize()
    {
        try
        {
            if ( socket == null )
            {
                String targetIP = System.getProperty("targetIP", "some_IP");
                socket = new Socket(targetIP, 1501);
            }
        }

     ... rest of the code ...
   }

public Socket getSocket()
{
    return socket;
}
}

У меня есть пакет тестов, которыеиспользуйте этот сокет.Проблема в том, что когда я отключен от устройства, тесты все еще пытаются использовать сокет.Из-за этого в самом начале каждого теста я помещал:

assumeNotNull(client.getSocket());

, чтобы избежать запуска этих тестов, когда устройство недоступно.

Но когда я запускаю весь тестовый проект в Eclipse, я вижув JUnit представлении такое исключение:

org.junit.AssumptionViolatedException: got: <[null]>, expected: every item is not null

и тест помечается как неудачный (с красным крестиком).Я согласен с тем, что сокета нет, но я ожидал скорее сообщения о пропущенном тесте, а не об ошибках.Но, может быть, это правильное поведение Eclipse?Должен ли я дополнительно настроить бегун или что-то еще?

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