import java.lang.reflect.Method;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class NewTest {
@DataProvider(name = "dp")
public Object[][] createData(Method m) {
System.out.println(m.getName()); // print test method name
return new Object[][] { new Object[] { "Cedric" }};
}
@Test(dataProvider = "dp")
public void test1(String s) {
System.out.println(s);
assert true;
}
@Test(dataProvider = "dp")
public void test2(String s) {
System.out.println(s);
assert true;
}
@Test(invocationCount=1000,threadPoolSize=500)
public void testMethod() throws Exception{
int i = 0;
while(i < 100){
System.out.println(i++);
Thread.sleep(100);
}
}
}
invocationCount设定的是这个方法的执行次数
threadPoolSize 这个属性表示的是开启线程数的多少,threadPoolSize的设定要依赖 invocationCount的设定,如果invocationCount的设定值小于threadPoolSize的设定值,多于的设定是无效的,举个极端的例子,如果你threadPoolSize设定是100,而invocationCount没有设定(默认为1次),那么系统只有开启一个线程来运行。反过invocationCount的设定不依赖threadPoolSize,testNG会以默认值1来运行。
开始时我将threadPoolSize设置去掉,然后执行,发现输出结果都是顺序的,而加上threadPoolSize设定后输出开始有些错乱,表明确实是多线程在执行。
我们能够使用这种方法进行并发测试和性能测试。
分享到:
相关推荐
这对于大型项目或需要进行性能测试的情况尤其有用。 2. **测试分组**:TestNG引入了测试分组的概念,允许你将相关测试逻辑组织在一起,便于管理、运行和跳过特定组的测试。 3. **注解丰富**:除了JUnit的`@Test`,...
它还支持使用各种类型的断言来验证测试结果,以及使用TestNG XML Suite文件进行分布式测试,使得在多台机器上并行运行测试成为可能。 总之,TestNG是一款功能强大的测试框架,提供了丰富的选项来满足不同层次的测试...
9. **线程池**:TestNG允许定义线程池来控制并行测试的执行,这对于测试性能和并发场景非常有用。 在实际开发中,使用testng-6.1.jar,可以通过以下步骤将TestNG集成到项目中: 1. 将该JAR文件添加到项目的类路径...
8. **并发测试**:TestNG支持使用@Parallel注解实现并发执行测试,这在测试多线程或者性能测试时非常有用。 9. **异常处理**:TestNG允许使用@Test注解的expectedExceptions属性声明预期的异常,如果测试抛出的异常...
此外,TestNG支持并行执行测试,这对于大型项目或性能测试来说非常有用。它还允许使用XML配置文件来定义测试结构,这使得测试组织更加灵活。 2. **注解驱动的测试**: TestNG引入了一系列注解,如@Test、@...
"perftest:JUnit 和 TestNG 性能测试框架" 是一个专为Java开发者设计的工具,它结合了两个流行的单元测试框架——JUnit和TestNG,用于进行性能测试。这个项目不仅能够帮助开发者测试代码的功能性,还能衡量其性能...
1. **并发测试**:TestNG 支持并发执行测试用例,这意味着可以同时运行多个测试,这对于性能测试和大规模测试套件尤其有用。通过`@Test(threadPoolSize = N)` 注解,你可以指定在特定线程池中运行的测试数量。 2. *...
1. **多线程支持**:TestNG 支持并发测试,可以同时运行多个测试用例,提高了测试效率。这对于需要模拟多用户场景或进行压力测试的情况非常有用。 2. **测试套件和配置方法**:通过测试套件(Test Suite),你可以...
TestNG 是一个强大的开源自动化测试框架,源自Java平台,由Cédric Beust创建。它在JUnit和NUnit的基础上提供了更多的功能,特别...无论是单独使用TestNG库还是通过Eclipse插件进行集成,都能提高测试的便捷性和效率。
5. 性能测试:虽然TestNG不是专门的性能测试工具,但通过模拟高并发和长时间运行测试,可以用于识别性能瓶颈。 总的来说,TestNG是一种功能强大且灵活的测试框架,它为Java开发者提供了丰富的工具和方法来执行各种...
1. **并发测试**:TestNG支持多线程执行测试用例,可以同时运行不同的测试,这对于测试分布式系统或者性能测试非常有用。 2. **分组测试**:通过定义测试组,用户可以方便地组织和运行相关的测试用例,例如,可以将...
TestNG是Java开发中的一款强大的测试框架,它扩展了JUnit的功能,提供了更多高级特性,如支持多种测试类型、并发测试、参数化测试等。在没有网络连接或者网络环境不稳定的情况下,我们仍然可以离线安装Eclipse中的...
Eclipse作为流行的Java集成开发环境(IDE),为了更好地支持TestNG,官方推出了TestNG Eclipse插件,使得开发者可以在Eclipse中直接进行TestNG测试的编写、运行和调试。 本资源提供的"testNG eclipse离线安装插件...
2. 服务器压力测试:结合JMeter或LoadRunner,利用TestNG进行大规模并发测试,评估系统性能。 3. TDD与BDD:TestNG支持TDD(测试驱动开发)和BDD(行为驱动开发),通过编写测试先于业务代码,确保软件质量。 五、...
Junit和TestNG是流行的单元测试框架,它们可以配合覆盖率工具进行测试,同时支持模拟并发环境,进行并发性测试。此外,LoadRunner、JMeter和 Gatling 这类负载测试工具可以模拟大量用户并发访问,从而测试系统的并发...
JMeter是一个开源的性能测试工具,可以用来模拟对服务器或网络应用的高负载。Jenkins是一个自动化服务器,它可以用来自动化各种任务,包括测试任务。 REST简介及后端服务搭建:REST(Representational State ...
- **plugins**:可能是TestNG的插件目录,用户可以通过这些插件增强TestNG的功能,比如日志记录、性能测试等。 4. **使用离线资源包** 在没有网络连接的环境中,将这个资源包解压后,用户可以直接将jar文件添加到...
与JUnit相比,TestNG提供了更丰富的功能,比如并发测试、参数化测试、配置方法、依赖关系等,使得测试工作更为灵活和高效。这个"org.testng.eclipse_6.8.6.20130607_0745.rar"压缩包文件包含的是TestNG的Eclipse插件...