Что такое контрольный пример? - PullRequest
5 голосов
/ 07 марта 2011

Мне трудно найти точное определение слова "контрольный пример".Некоторые источники утверждают, что контрольный пример - это класс, который расширяет TestCase.Другие источники утверждают, что контрольный пример - это единственный метод тестирования.Документация JUnit неясна, мне кажется, слова «контрольный пример» и «тест» означают одно и то же:

Аннотация Test сообщает JUnit, что метод public void, к которому он относитсяприкрепленный может быть запущен как контрольный пример .Чтобы запустить метод, JUnit сначала создает свежий экземпляр класса, а затем вызывает аннотированный метод.Любые исключения, возникшие в результате теста , будут сообщаться JUnit как сбой.Если не выдано никаких исключений, предполагается, что тест выполнен успешно.

Так что же такое «тестовый случай» и как он связан с «тестом»?

Ответы [ 2 ]

1 голос
/ 08 марта 2011

В контексте JUnit «контрольный пример» может означать класс, который содержит связанные тесты (в JUnit 4 вам больше не нужно расширять TestCase) или один метод тестирования.На самом деле нет точного определения этого термина.

В моей книге тестовый пример является ответом на этот вопрос: тестируемый фрагмент кода работает так, как ожидалось?

Testслучаи могут быть крошечными:

Foo foo = new Foo();
assertEquals( "...", foo.bar(5) );

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

1 голос
/ 07 марта 2011

Я бы указал на документацию JUnit на TestCase .В нем описываются три условия для обозначения TestCase:

  1. реализует подкласс TestCase
  2. определяет переменные экземпляра, в которых хранится состояние прибора
  3. Инициализируйте состояние прибора, переопределив setUp ()
  4. , очистите после теста, переопределив tearDown ().

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

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

...