AfterTest无法正常工作?

时间:2014-05-20 13:17:51

标签: testng

我在学习TestNG。但我发现在TestNG 6.8中,Annotation AfterTest存在问题。

@AfterTest:在标记内的类的所有测试方法都运行之后,将运行带注释的方法。

来自http://testng.org/doc/documentation-main.html

但实际上,我的测试用例还没有开始,@ AfterTest执行了!为什么?像这样输出。

beforeSuite!!!!!!!!
beforeTest!!!!!!!!
afterTest!!!!!!!!
PASSED: testContainEnglish
PASSED: testGetCurrency
PASSED: testGetCurrencyCode
PASSED: testGetCurrencyCodeAlt
PASSED: testGetNotNullValue
PASSED: testGetNotNullValue_hasDefaultValue
PASSED: testGetSplitListFromString
PASSED: testMappingTable

===============================================
    Default test
    Tests run: 8, Failures: 0, Skips: 0
===============================================

afterSuite!!!!!!!!

===============================================
Default suite
Total tests run: 8, Failures: 0, Skips: 0
===============================================

1 个答案:

答案 0 :(得分:0)

它正常工作。 TestNG显示代码中的所有system.out字符串,并仅在它们之后生成每个测试的结果。要查看它,请尝试使用@Test批注将System.out字符串添加到每个方法。并且不要忘记在testng.xml中设置verbose parametr 2或更多的值。例如代码:

@BeforeTest
    public void beforetest()
   {
        System.out.println("Before Test");
    }
@AfterTest
    public void aftertest()
{
        System.out.println("After Test");
    }
@Test
    public void test1()
{
        System.out.println("test1");
    }
@Test
    public void test2()
{
        System.out.println("test2");
    }
@Test
    public void test3()
{
        System.out.println("test3");
    }

和输出信息

T E S T S
-------------------------------------------------------
Running TestSuite
Before Test
test1
test2
test3
After Test
PASSED: test1
PASSED: test2
PASSED: test3
相关问题