Передающий вывод одного метода тестирования для другого тестирования метода

Я должен записать следующие случаи модульного теста в тестировании:

  1. saveProductTest, который возвратил бы productId, если сведения о продукте сохраняются успешно в DB.

  2. modifyProductTest, это должно использовать ранее сохраненный productId в качестве параметра.

Я беру вход сведений о продукте (PrdouctName, ReleaseDate) для saveProductTest и modifyProductTest метода от использования XML-файла, тестирующего поставщиков данных. Так как productId сгенерирован в методе сохранения, я должен передать его изменить методу.

Что лучший способ состоит в том, чтобы передать вывод одного метода тестирования для другого метода в тестировании.

7
задан norbertpy 24 July 2015 в 15:26
поделиться

2 ответа

С при всем уважении к simendsjo, тот факт, что все тесты должны быть независимыми друг от друга, является догматическим подходом, имеющим множество исключений.

Вернемся к исходному вопросу: 1) использовать зависимые методы и 2) сохранить промежуточный результат в поле (TestNG не воссоздает ваши экземпляры с нуля, поэтому это поле сохранит свое значение).

Например

private int mResult;

@Test
public void f1() {
  mResult = ...
}

@Test(dependsOnMethods = "f1")
public void f2() {
  // use mResult
}
19
ответ дан 6 December 2019 в 06:13
поделиться

Каждый юнит-тест должен быть независимым от других тестов, чтобы было легче увидеть, что не получилось. Вы можете иметь вспомогательный метод, сохраняющий продукт и возвращающий id, и вызывать его из обоих тестов.

3
ответ дан 6 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: