RedGate великолепен, мы генерируем новые снимки при внесении изменений в базу данных (крошечный двоичный файл) и сохраняем этот файл в проектах как ресурс. Всякий раз, когда нам нужно обновить базу данных, мы используем инструментарий RedGate для обновления базы данных, а также можем создавать новые базы данных из пустых.
RedGate также делает моментальные снимки данных, хотя я лично с ними не работал, они такие же надежные.
Проблема в том, что ваш AnnounceThreadTest расширяет TestCase. Поскольку он расширяет TestCase, JUnit Runner рассматривает его как тест JUnit 3.8, и тест выполняется, потому что он начинается со слова test, скрывая тот факт, что аннотация @Test на самом деле вообще не используется.
Чтобы исправить это, удалите "extends TestCase" из определения класса.
Просто запустил это в IntelliJ с помощью JUnit 4.4:
@Test(expected = IllegalArgumentException.class)
public void testExpected()
{
throw new IllegalArgumentException();
}
Проходит отлично.
Перестройте весь проект и попробуйте еще раз. Есть еще кое-что, что вы делаете не так. JUnit 4.4 работает, как заявлено.