单篇长文TestNG从入门到精通

本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。 简介 TestNG是Test Next Generation的缩写,它的灵感来自于JUnit和NUnit,在它们基础上增加了很多很牛的功能,比如说: 注解。 多线程,比如所有方法都在各自线程中,一个测试类一个线程等。 验证代码是否多线程安全。 灵活的测试配置。 支持数据驱动(@DataProvider)。 支持参数化。 强大的执行机制(不需要TestSuite)。 能跟各种工具结合(比如IDEA、Maven等)。 内嵌BeanShell。 提供运行时和日志的JDK函数(不需要添加dependencies)。 提供应用服务器测试依赖的方法。 一句话总结就是,TestNG强大到能覆盖所有测试类型:单元测试、功能测试、端到端测试、集成测试等等等。 一个简单的示例如下: package example1; import org.testng.annotations.*; public class SimpleTest { @BeforeClass public void setUp() { // code that will be invoked when this test is instantiated } @Test(groups = { "fast" }) public void aFastTest() { System.out.println("Fast test"); } @Test(groups = { "slow" }) public void aSlowTest() { System.out.println("Slow test"); } } setUp()会在测试类创建后,测试方法执行前运行。 测试方法名字可以任意的,TestNG通过@Test注解来标识。 可以把测试方法按group分组。 然后使用xml来配置运行策略: ...