2010-08-10 5 views
4

Каковы наиболее часто используемые методы испытаний, с которыми я должен начать, чтобы ознакомиться с модульным тестированием? Их очень много, но я думаю, что есть что-то вроде обычного или что-то в этом роде.Методы Junit test

Я имел в виду методы JUnit, как AssertTrue() и т.д.

+1

Что вы подразумеваете под «методами тестирования»? – dty

+0

Как, например, AssertTrue(). – Eugene

+0

AssertTrue() получает вас много! :) –

ответ

5

Существует несколько шаблонов для изучения, с несколькими методами реализации для разных типов и необязательным аргументом начального сообщения.

  • assertEquals()
  • assertTrue() и assertFalse()
  • assertNull() и assertNotNull()
  • assertSame() и assertNotSame()
  • неудачу()
  • assertArrayEquals ()
  • assertThat()

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

1

нАлАдкА() и Teardown(), они называются до и после каждого случая.

4

assertEquals - наиболее часто используемый метод испытаний.

assertEquals("string1", "string1"); 
//would fail 

assertEquals(expectedValue, actualValue); 
//would pass if expectedValue.equals(actualValue) 

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

assertEquals("method result should be 7", 7, thing.methodThatShouldReturn7()); 
//would pass if 7 == thing.methodThatShouldReturn7() 

Смотрите Assert class javadoc для получения более подробной информации, и как только вы освоитесь с assertEquals, вы можете посмотреть на другие варианты утверждают, доступный для вас.

+0

Вы действительно хотите использовать последний метод, который дает вам строку с ошибкой; это поможет, когда все пойдет не так. Также обратите внимание на то, как сообщение написано, как ожидание, а не говорит о некорректном значении. Этот способ формулировки помогает в выяснении того, что произошло –

1

Я бы также рекомендовал знать о fail() и обработке исключений в JUnit. Краткое предложение состоит в том, чтобы всегда исключать исключения из метода тестирования, если не тестировать это конкретное исключение. Захват исключений и сбоев, но вы теряете довольно много информации о отчетах. Хорошая статья об этом здесь: http://www.exubero.com/junit/antipatterns.html.

0

@ Перед и @ После аннотаций (что эквивалентно тому, что установлены для setUp() и tearDown()).