Мастер создания файлов в NetBeans 7.2 упрощает создание пустого контрольного теста TestNG. Это демонстрируется на следующих снимках экрана, которые запускаются с помощью New File | Модульные тесты (обратите внимание, что «Новый файл» доступен в раскрывающемся меню «Файл» или при щелчке правой кнопкой мыши в окне «Проекты»).
Запуск создания тестового набора TestNG, как показано выше, приводит к следующему сгенерированному тестовому коду.
TestNGDemo.java (создан NetBeans 7.2)
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package dustin.examples;import org.testng.annotations.AfterMethod;import org.testng.annotations.AfterClass;import org.testng.annotations.BeforeMethod;import org.testng.annotations.BeforeClass;import org.testng.annotations.Test;import org.testng.Assert;/** * * @author Dustin */public class TestNGDemo{ public TestNGDemo() { } @BeforeClass public void setUpClass() { } @AfterClass public void tearDownClass() { } @BeforeMethod public void setUp() { } @AfterMethod public void tearDown() { } // TODO add test methods here. // The methods must be annotated with annotation @Test. For example: // // @Test // public void hello() {}} |
Тест, сгенерированный NetBeans 7.2, содержит комментарии, показывающие, как методы тестирования добавляются и аннотируются (аналогично современным версиям JUnit). В сгенерированном коде также показаны некоторые аннотации для полной настройки и разрыва тестового примера и для настройки и разборки для каждого теста (аннотации аналогичны JUnit). NetBeans идентифицирует операторы импорта, которые еще не используются на данный момент ( import org.testng.annotations.Test; и import org.testng.Assert; ), но, вероятно, будут использоваться и поэтому были включены в сгенерированный код.
Я могу легко добавить метод теста в этот сгенерированный тест. Следующий фрагмент кода представляет собой метод тестирования с использованием TestNG.
testIntegerArithmeticMultiplyIntegers ()
|
1
2
3
4
5
6
7
8
9
|
@Testpublic void testIntegerArithmeticMultiplyIntegers(){ final IntegerArithmetic instance = new IntegerArithmetic(); final int[] integers = {4, 5, 6}; final int expectedProduct = 2 * 3 * 4 * 5 * 6; final int product = instance.multiplyIntegers(2, 3, integers); assertEquals(product, expectedProduct);} |
Это, конечно, выглядит очень похоже на эквивалент JUnit, который я использовал для того же класса IntegerArithmetic который я использовал для тестирования иллюстраций в постах Улучшение AssertEquals с помощью JUnit и Hamcrest и встроенной поддержки Hamcrest Core Matcher в JUnit. На следующем снимке экрана показан вывод в бета-версии NetBeans 7.2, если щелкнуть правой кнопкой мыши класс тестового примера и выбрать «Выполнить файл» (Shift + F6).
Текстовый вывод прогона TestNG, представленный в бета-версии NetBeans 7.2, воспроизводится следующим.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
[TestNG] Running: Command line suite[VerboseTestNG] RUNNING: Suite: "Command line test" containing "1" Tests (config: null)[VerboseTestNG] INVOKING CONFIGURATION: "Command line test" - @BeforeClass dustin.examples.TestNGDemo.setUpClass()[VerboseTestNG] PASSED CONFIGURATION: "Command line test" - @BeforeClass dustin.examples.TestNGDemo.setUpClass() finished in 33 ms[VerboseTestNG] INVOKING CONFIGURATION: "Command line test" - @BeforeMethod dustin.examples.TestNGDemo.setUp()[VerboseTestNG] PASSED CONFIGURATION: "Command line test" - @BeforeMethod dustin.examples.TestNGDemo.setUp() finished in 2 ms[VerboseTestNG] INVOKING: "Command line test" - dustin.examples.TestNGDemo.testIntegerArithmeticMultiplyIntegers()[VerboseTestNG] PASSED: "Command line test" - dustin.examples.TestNGDemo.testIntegerArithmeticMultiplyIntegers() finished in 12 ms[VerboseTestNG] INVOKING CONFIGURATION: "Command line test" - @AfterMethod dustin.examples.TestNGDemo.tearDown()[VerboseTestNG] PASSED CONFIGURATION: "Command line test" - @AfterMethod dustin.examples.TestNGDemo.tearDown() finished in 1 ms[VerboseTestNG] INVOKING CONFIGURATION: "Command line test" - @AfterClass dustin.examples.TestNGDemo.tearDownClass()[VerboseTestNG] PASSED CONFIGURATION: "Command line test" - @AfterClass dustin.examples.TestNGDemo.tearDownClass() finished in 1 ms[VerboseTestNG] [VerboseTestNG] ===============================================[VerboseTestNG] Command line test[VerboseTestNG] Tests run: 1, Failures: 0, Skips: 0[VerboseTestNG] ==============================================================================================Command line suiteTotal tests run: 1, Failures: 0, Skips: 0===============================================Deleting directory C:\Users\Dustin\AppData\Local\Temp\dustin.examples.TestNGDemotest:BUILD SUCCESSFUL (total time: 2 seconds) |
В приведенном выше примере показано, как легко начать использовать TestNG, особенно если вы переходите на TestNG из JUnit и используете бета-версию NetBeans 7.2. Конечно, в TestNG есть гораздо больше, чем это, но изучение новой инфраструктуры обычно наиболее сложно в самом начале, и NetBeans 7.2 быстро ее запускает.
Ссылка: NetBeans 7.2 Представляет TestNG от нашего партнера по JCG Дастина Маркса в блоге Inspired by Actual Events .



