Две вещи здесь:
- NPE странно (посмотрим, смогу ли я найти объяснение позже)
- даже без NPE, ваш тест не имеет смысла
Видите ли, вы создаете один макетный экземпляр класса Table. Вы настраиваете реагировать на определенный вызов с исключением.
Затем вы вызываете статический метод , без использования этого объекта. Это просто ничего не сделает.
Что позже, статический вызов не знает ничего о вашем экземпляре макетированной таблицы. Вы, вероятно, предполагаете, что ваша фиктивная установка повлияет на любой объект таблицы. Нет, не будет! Он влияет только на вызовы, которые происходят с этим конкретным объектом.
Если вы хотите управлять любым произвольным экземпляром Table, созданным где угодно, у вас есть куда больше дел (например, вам придется изучить использование PowerMock или JMockit для перехвата / управления вызовами конструктора) .
Короче говоря: как написано прямо сейчас, ваш тестовый пример не выполняет то, для чего вы его написали.