单元测试进行高并发并发测试
如何在junit中测试自己的写的逻辑或者自己设计的架构能否扛得住一定的并发环境呢?其实这种问题挺简单的,但是往往好多人容易忽略这一点,不多说,直接上代码。
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.concurrent.CountDownLatch;
@RunWith(SpringJUnit4ClassRunner.class)//使用junit4进行测试
@ContextConfiguration({"classpath*:spring/applicationContext.xml"})
public class TestDemo {
//模拟请求的参数
private static final Stringdemo ="u001";
//模拟短时间内的并发请求量
private static final int threadNum =200;
//倒计时器,用于模拟高并发
private CountDownLatchcdl =new CountDownLatch(threadNum);
@Before
public void init(){
//执行前准备
}
@Test
public void testMain(){
for (int i =0; i< threadNum; i++) {
new Thread(new UserRequest()).start();
//倒计时计数一次
cdl.countDown();
}
try{
//阻塞主线程,等待所有的子线程执行完毕
Thread.currentThread().join();
}catch (Exception e){
e.printStackTrace();
}
}
private class UserRequestimplements Runnable{
@Override
public void run() {
try {
cdl.await();
}catch (InterruptedException e) {
e.printStackTrace();
}
//此处执行对应的逻辑
}
}
}
这其实就是一个简单的junit单元测试,但是却非常好用,里面代码看起来比较少,但是却包含了,java关于多线程操作的一些东西,比如CountDownLatch类的使用方法以及各种特性, 线程中的join()方法的使用
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript 实时监听input中值变化
代码 方式一: <!DOCTYPE html> <html> <head> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <title>测试</title> </head> <body> <input class="et-name" type="input" name="name"> <script type="text/javascript"> $(function () { $(".et-name").bind("input propertychange", function () { console.log($(".et-name").val()); }); }); </script> </body> </html> 方式二: <!DOCTYPE html> <html> <head&...
- 下一篇
spring+springmvc+mybatis构建系统
今天和大家分享的是spring+springmvc+mybatis搭建框架的例子,说到这里不得不说现在市面上一流大公司还有很多用这种架子,创业型公司大部分都用springboot集成的mvc+mybatis来构建应用,形成了两种“趋势”没有统一;因此在后面会有一章springboot+mybatis构建系统的文章,希望多多支持。 mybatis-generator逆向工程生成实体和配置文件 spring+springmvc+mybatis一系列配置 访问静态资源的两种配置方式 引入事物注解 打成war包部署到tomcat mybatis-generator逆向工程生成实体和配置文件 java项目中mybatis很常用,要说靠手动来配置实体,映射文件那可繁琐了,为此有了快速生成实体和mapper文件的generator工具;首先我们新建项目,初始化项目结构如: 然后创建名称mybatis-generator.xml的配置文件,里面内容如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorCo...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音