junit基础学习之-多线程测试(6)

步骤:

1、定义单个TestRunner

2、重载单个TestRunner的runTest()

3、定义TestRunner数组,并添加多个TestRunner

4、MultiThreadedTestRunner测试

 1  @Test
 2      public void MultiRequestsTest() {
 3            // 步骤一:构造一个Runner
 4             TestRunnable runner = new TestRunnable() {
 5            @Override //步骤二:重载runTest函数
 6             public void runTest() throws Throwable {
 7                     // 测试内容
 8                     request.setRequestURI("/postDoctors/userController/selectUserById");
 9                       request.setMethod("post");
10
11                       try{
12
13                          final ModelAndView mav = userController.selectUserById( 1,request, response);
14                          ModelAndViewAssert.assertModelAttributeAvailable(mav, "map");
15
16                       }catch (Exception e){
17                           e.printStackTrace();
18                       }
19                 }
20             };
21             int runnerCount = 100;
22                     //步骤三:定义数组
23             //Rnner数组,想当于并发多少个。
24             TestRunnable[] trs = new TestRunnable[runnerCount];
25             for (int i = 0; i < runnerCount; i++) {
26                 trs[i] = runner;
27             }
28                      //步骤四:MultiThreadedTestRunner测试
29             // 用于执行多线程测试用例的Runner,将前面定义的单个Runner组成的数组传入
30             MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(trs);
31             try {
32                             // 开发并发执行数组里定义的内容
33                 mttr.runTestRunnables();
34             } catch (Throwable e) {
35                 e.printStackTrace();
36             }
37         } 
时间: 2024-10-07 19:01:37

junit基础学习之-多线程测试(6)的相关文章

Junit使用GroboUtils进行多线程测试

写过Junit单元测试的同学应该会有感觉,Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的.JVM都终止了,在测试线程启动的其他线程自然也无法执行.JunitCore代码如下: /**       * Run the tests contained in the classes named in the <code>args</code>.       * If all tests run successfully,

junit基础学习之-简介(1)

JUnit介绍 JUnit是一个开源的Java单元测试框架,由 Erich Gamma 和 Kent Beck 开发完成. 1  JUnit简介 JUnit主要用来帮助开发人员进行Java的单元测试,其设计非常小巧,但功能却非常强大. 下面是JUnit一些特性的总结: — 提供的API可以让开发人员写出测试结果明确的可重用单元测试用例. — 提供了多种方式来显示测试结果,而且可以扩展. — 提供了单元测试批量运行的功能,而且可以和Ant很容易地整合. — 对不同性质的被测对象,如Class,JS

junit基础学习之-测试controller层(2)

准备工作: eclipse本身带有junit4,可以直接build path,加入junit. 连接数据库的配置文件需要修改,之前的文件是采用properties+xml文件的形式,但是在测试的时候因为不能连接服务器,所以需要需要修改配置文件,最好是重新写一个配置文件,把需要的参数直接写出来就好了. 下面是我配置文件,重点是前面,后面就不需要了. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns

junit基础学习之-测试service层(3)

测试步骤: 在之前的文章中已经加了junit的环境,这就不需要了. 1.加载junit类,spring配置文件,指明junit测试器,@Runwith 2.定义变量,service,不可以使用spring注解,因为spring注解是建立在server上的. 3.初始化@Before注解. 4.实现测试方法,@Test注解. 1 package swust.edu.cn.postdoctors.service.impl; 2 3 import javax.annotation.Resource;

Java基础学习之-多线程学习知识点的学习

Java语言从设计之初就把多线程作为语言的核心, 至少从以下几点可以看出: 1. Object对象的wait和notify机制. 2. Thread类在lang包中. 3. synchronized volatile关键字. 虽然多线程是Java语言本身的特性,但是线程并不是Java语言独有的东西,而是操作系统的特性.Java在语言层面进行了封装,使其使用更简单. 多线程存在的价值在哪里呢? 内存读写,磁盘IO, 网络传输的速率远远低于CPU处理数据的速度.所以在大部分场景下,CPU是闲置的.有

junit基础学习之-参数初始化(5)

和之前类似,只有@RunWith和参数那里有变化. package swust.edu.cn.postdoctors.service.impl; import java.util.Arrays; import java.util.Collection; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; im

junit基础学习之-断言注解(3)

断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过. 断言核心方法 assertArrayEquals(expecteds, actuals) 查看两个数组是否相等. assertEquals(expected, actual) 查看两个对象是否相等.类似于字符串比较使用的equals()方法 assertNotEquals(first, second) 查看两个对象是否不相等. assertNull(object) 查看对象是否为空. assertNot

junit基础学习之-junit3和4的区别(4)

junit3和junit4的使用区别如下 1.在JUnit3中需要继承TestCase类,但在JUnit4中已经不需要继承TestCase 2.在JUnit3中需要覆盖TestCase中的setUp和tearDown方法,其中setUp方法会在测试执行前被调用以完成初始化工作,而tearDown方法则在结束测试结果时被调用,用于释放测试使用中的资源,而在JUnit4中,只需要在方法前加上@Before,@After 3.在JUnit3中对某个方法进行测试时,测试方法的命令是固定的,例如对addB

JAVA基础学习之多线程

进程与线程 进程:就是正在进行的程序.其实就是一个应用程序运行时的内存空间. 线程:线程就是进程当中的一个控制单元或执行路径.进程负责空间的标示,而线程负责执行应用程序的执行顺序. 当一个进程中出现多个线程是就是多线程.每个线程在栈中都有自己的执行空间.方法区.变量. java VM启动的时候会有一个进程java.exe.该进程中至少有一个线程负责java程序的执行,而且这个线程运行的代码存在于main方法中.该线程称之为主线程. 线程的创建方法 创建线程中第一种方式:继承Thread类. 步骤