Все утверждения находятся в классе Assert.
public class Assert extends java.lang.Object
Этот класс предоставляет набор методов утверждения, полезных для написания тестов. Только ошибочные утверждения записываются. Вот некоторые из важных методов класса Assert:
Sr.No. | Методы и описание |
---|---|
1 |
void assertEquals (логическое ожидание, логическое фактическое) Проверяет, что два примитива / объекта равны. |
2 |
void assertTrue (логическое условие) Проверяет, что условие верно. |
3 |
void assertFalse (логическое условие) Проверяет, что условие ложно. |
4 |
void assertNotNull (Объектный объект) Проверяет, что объект не является нулевым. |
5 |
void assertNull (Объектный объект) Проверяет, что объект является нулевым. |
6 |
void assertSame (object1, object2) Метод assertSame () проверяет, указывают ли две ссылки на один и тот же объект. |
7 |
void assertNotSame (object1, object2) Метод assertNotSame () проверяет, не ссылаются ли две ссылки на один и тот же объект. |
8 |
void assertArrayEquals (pectedArray, resultArray); Метод assertArrayEquals () проверит, равны ли два массива друг другу. |
void assertEquals (логическое ожидание, логическое фактическое)
Проверяет, что два примитива / объекта равны.
void assertTrue (логическое условие)
Проверяет, что условие верно.
void assertFalse (логическое условие)
Проверяет, что условие ложно.
void assertNotNull (Объектный объект)
Проверяет, что объект не является нулевым.
void assertNull (Объектный объект)
Проверяет, что объект является нулевым.
void assertSame (object1, object2)
Метод assertSame () проверяет, указывают ли две ссылки на один и тот же объект.
void assertNotSame (object1, object2)
Метод assertNotSame () проверяет, не ссылаются ли две ссылки на один и тот же объект.
void assertArrayEquals (pectedArray, resultArray);
Метод assertArrayEquals () проверит, равны ли два массива друг другу.
Давайте использовать некоторые из вышеупомянутых методов в примере. Создайте файл класса Java с именем TestAssertions.java в C: \> JUNIT_WORKSPACE.
import org.junit.Test; import static org.junit.Assert.*; public class TestAssertions { @Test public void testAssertions() { //test data String str1 = new String ("abc"); String str2 = new String ("abc"); String str3 = null; String str4 = "abc"; String str5 = "abc"; int val1 = 5; int val2 = 6; String[] expectedArray = {"one", "two", "three"}; String[] resultArray = {"one", "two", "three"}; //Check that two objects are equal assertEquals(str1, str2); //Check that a condition is true assertTrue (val1 < val2); //Check that a condition is false assertFalse(val1 > val2); //Check that an object isn't null assertNotNull(str1); //Check that an object is null assertNull(str3); //Check if two object references point to the same object assertSame(str4,str5); //Check if two object references not point to the same object assertNotSame(str1,str3); //Check whether two arrays are equal to each other. assertArrayEquals(expectedArray, resultArray); } }
Затем создайте файл класса Java с именем TestRunner.java в C: \> JUNIT_WORKSPACE для выполнения тестовых примеров.
import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner2 { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestAssertions.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
Скомпилируйте классы Test case и Test Runner, используя javac.
C:\JUNIT_WORKSPACE>javac TestAssertions.java TestRunner.java
Теперь запустите Test Runner, который запустит тестовый набор, определенный в предоставленном классе Test Case.
C:\JUNIT_WORKSPACE>java TestRunner
Проверьте вывод.
true
аннотирование
Аннотации похожи на метатеги, которые вы можете добавить в свой код и применять их к методам или в классе. Эти аннотации в JUnit предоставляют следующую информацию о методах тестирования —
- какие методы будут выполняться до и после методов тестирования.
- какие методы выполняются до и после всех методов, и.
- какие методы или классы будут игнорироваться во время выполнения.
В следующей таблице приведен список аннотаций и их значения в JUnit —
Sr.No. | Аннотация и описание |
---|---|
1 |
@Тестовое задание Аннотация Test сообщает JUnit, что открытый метод void, к которому он присоединен, может быть запущен как тестовый пример. |
2 |
@До Несколько тестов нуждаются в похожих объектах, созданных до их запуска. Аннотирование открытого метода void с помощью @Before приводит к тому, что этот метод запускается перед каждым методом Test. |
3 |
@После Если вы выделяете внешние ресурсы в методе «До», вам необходимо освободить их после выполнения теста. Аннотирование открытого метода void с помощью @After приводит к тому, что этот метод запускается после метода Test. |
4 |
@BeforeClass Аннотирование открытого статического метода void с помощью @BeforeClass заставляет его запускаться один раз перед любым из тестовых методов в классе. |
5 |
@После школы Это выполнит метод после завершения всех тестов. Это может быть использовано для выполнения действий по очистке. |
6 |
@Ignore Аннотация Ignore используется для игнорирования теста, и этот тест не будет выполнен. |
@Тестовое задание
Аннотация Test сообщает JUnit, что открытый метод void, к которому он присоединен, может быть запущен как тестовый пример.
@До
Несколько тестов нуждаются в похожих объектах, созданных до их запуска. Аннотирование открытого метода void с помощью @Before приводит к тому, что этот метод запускается перед каждым методом Test.
@После
Если вы выделяете внешние ресурсы в методе «До», вам необходимо освободить их после выполнения теста. Аннотирование открытого метода void с помощью @After приводит к тому, что этот метод запускается после метода Test.
@BeforeClass
Аннотирование открытого статического метода void с помощью @BeforeClass заставляет его запускаться один раз перед любым из тестовых методов в классе.
@После школы
Это выполнит метод после завершения всех тестов. Это может быть использовано для выполнения действий по очистке.
@Ignore
Аннотация Ignore используется для игнорирования теста, и этот тест не будет выполнен.
Создайте файл Java-класса с именем JunitAnnotation.java в C: \> JUNIT_WORKSPACE для проверки аннотации.
import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; public class JunitAnnotation { //execute before class @BeforeClass public static void beforeClass() { System.out.println("in before class"); } //execute after class @AfterClass public static void afterClass() { System.out.println("in after class"); } //execute before test @Before public void before() { System.out.println("in before"); } //execute after test @After public void after() { System.out.println("in after"); } //test case @Test public void test() { System.out.println("in test"); } //test case ignore and will not execute @Ignore public void ignoreTest() { System.out.println("in ignore test"); } }
Затем создайте файл класса Java с именем TestRunner.java в C: \> JUNIT_WORKSPACE для выполнения аннотаций.
import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(JunitAnnotation.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
Скомпилируйте классы Test case и Test Runner, используя javac.
C:\JUNIT_WORKSPACE>javac JunitAnnotation.java TestRunner.java
Теперь запустите Test Runner, который запустит тестовый набор, определенный в предоставленном классе Test Case.
C:\JUNIT_WORKSPACE>java TestRunner
Проверьте вывод.