pom.xml加入( D0 U2 F. L, I1 ^# E- O
7 Z! }8 k' J8 b<dependency> <groupId >net.sourceforge.groboutils </groupId > <artifactId >groboutils-core</ artifactId> <version >5 </version > <scope >system </scope > <!--本地jar的路径,相对或者绝对都可以 --> <systemPath >D:\ groboutils-core-5.jar</systemPath > </dependency >
1 U& ~2 c5 ]. C @Test* x: K8 F/ c X5 {& c
public void MultiRequestsTest() {
8 X$ o6 Z: @$ q9 ]0 T( ? X // 构造一个Runner
+ o' s7 t# S2 |1 H2 A b' { TestRunnable runner = new TestRunnable() {
# o. g6 J+ |, |' e) L/ m- | @Override3 G/ j5 [; X. g* I0 a3 k* v
public void runTest() throws Throwable {
. c5 o" U5 M$ L) d7 K* T // 测试内容
. k% [! ]; H% Q4 p2 c V, e$ R y' U# T; N& X, D: Z# h" C
J' o% K0 Y$ _1 m" d
}
. F0 Y1 M. V( {8 q; P };7 d! e2 v+ T- }) e1 ~
int runnerCount = 1000;! d, j4 x& e/ N Z3 T2 C5 r
// Rnner数组,想当于并发多少个。
( E* F! e$ ]! [) o$ I, x. F TestRunnable[] trs = new TestRunnable( E M# V& V; |& F3 G
. ^+ E# h, u1 k) F
[runnerCount];
% y& v+ X' y5 U; m( ? for (int i = 0; i < runnerCount; i++) {: n0 X0 V4 E+ N" U0 L* q+ I
trs = runner;2 L2 W/ p" O: q4 ]* ~8 {
}
" Q4 D* l* m+ ~: P // 用于执行多线程测试用例的Runner,将前面定义的2 x7 P/ Q& C; l& k% R; b
& q Q: T4 L1 A! T1 @! E6 b单个Runner组成的数组传入 s8 H3 \, {$ U2 P6 A
MultiThreadedTestRunner mttr = new
% C2 @& R. ?4 I) |8 l
' [$ _' T0 u' E: GMultiThreadedTestRunner(trs);- @5 B0 U# D+ c/ E% |0 \4 w. Q
try {5 K9 `$ T% D& R/ k
// 开发并发执行数组里定义的内容; j) B; e& W, S# V0 d
mttr.runTestRunnables();
2 F8 ]0 w3 O- z) ~1 C. _ } catch (Throwable e) {
+ g7 F5 ]/ j4 u4 k4 a9 I2 h6 \' V e.printStackTrace();7 a8 c6 U, O0 o6 U% }' B
}
! I/ C' G% ]; y1 L9 w# M4 I9 b# ^, _+ R }
, g: V! ^! a+ u* y
5 L5 D9 J% V; K; {) n& egroboutils-core-5.jar百度网盘下载地址:java自学网(javazx.com)groboutils-core-5.jar.zip【密码回帖可见】
; ~! G" h v/ @! Z# }9 y3 X& E1 E7 A: J% A% G1 s- T8 _1 S5 z
, G6 | m5 O, y9 U5 k. P* u) `4 Y1 Q" _) y& c$ A2 F# y2 a4 z
" I" X- n" }- W/ v% T |