hibernate - junit noob - значение переменной класса потеряно между 2 методами тестирования - PullRequest
1 голос
/ 30 сентября 2010

... У меня простой интеграционный тест, и все методы тестирования работают нормально ... НО ... Я настроил класс VAR

int tempId;

для использования следующими методами. testSaveTag () устанавливает значение при успешном выполнении (теперь все автоматически фиксируется), а testUpdateTag () обновляет вновь созданный тег.

@Test
public void testSaveTag() {
Tag tag = new Tag();
tag.setDescription("Test Tag");
tempId = instance.saveTag(tag);
}

@Test
public void testUpdateTag() {
Tag tag  = instance.getTag(tempId );
tag.setDescription("updated tag description!");
instance.updateTag(tag);
}

Значение tempID теряется между двумя методами.

Итак, я думаю, "Как правильно это сделать",

... и "почему потеряно значение?"

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 01 октября 2010

Методы тестирования JUnit никогда не должны зависеть от запуска в определенном порядке и должны иметь только те переменные класса, которые не были изменены тестами.

В testUpdateTag () вам может понадобиться создать и сохранить новый тег, чтобы получить идентификатор. Или есть способ получить тег, который можно затем обновить?

Кстати, я надеюсь, что в какой-то момент вы добавляете утверждения ...; -)

1 голос
/ 30 сентября 2010

Извините, я не специалист в области юнитов, хотя когда-либо в большинстве фреймов модульного тестирования есть настройка и разрыв системы тестирования, которая происходит между каждым из ваших методов модульного тестирования. Так что ваш темп, вероятно, не пережил этот процесс.

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