pom.xml加入
: z% d' |3 ?* J% G) ~- j; P+ C3 [9 K) q2 M5 A
<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 > ) |$ J; `! B- Y1 }3 H
@Test
4 p4 g- h5 r0 S, X, s4 f% e: D public void MultiRequestsTest() {
K9 E) l, i* k4 x // 构造一个Runner/ B9 r' i3 {0 c
TestRunnable runner = new TestRunnable() {# G, [" z4 Q$ L" b, J# `, d
@Override
; K5 J5 T' ]& I. I, Y. P public void runTest() throws Throwable {$ E: k0 L! L h. L; d. Q7 S
// 测试内容
/ q- G6 _7 ~& A- d8 _1 b4 O7 F9 G
1 u+ m- O) }9 `" C5 l }
( H2 E% h7 N; ?) N7 \& ?3 w };
7 ^; X: u2 G6 O/ V5 M int runnerCount = 1000;
/ ~/ v* G) \( s3 N/ S // Rnner数组,想当于并发多少个。8 [3 r" ~: R: G7 K9 r
TestRunnable[] trs = new TestRunnable
: g0 X0 b; I# s1 R/ x
* b- H% X& b6 Q* _[runnerCount]; E) ?1 _) w; v* z. M
for (int i = 0; i < runnerCount; i++) {$ r% j6 _- J# V0 I& _5 V
trs = runner;
* E' J0 c, @! Q4 a1 q }
: \/ F2 W* r2 o: y // 用于执行多线程测试用例的Runner,将前面定义的
* D% d+ t' y3 N8 }
) a& B/ U- T1 S% D单个Runner组成的数组传入
! c9 f9 x5 ?; ]: d9 c MultiThreadedTestRunner mttr = new
- f6 x9 N, h- c- V
) W: K/ V& V/ \# ?4 c* fMultiThreadedTestRunner(trs);
0 N& p S, x9 Q1 Z& |9 ^ try {6 V o& t# \; Q4 _/ _0 z
// 开发并发执行数组里定义的内容3 m+ \) ?1 o: t1 M* ]& ?
mttr.runTestRunnables();
1 j4 _$ V5 K) ~" O" \ } catch (Throwable e) {
* d [5 k" x% \3 Y e.printStackTrace();
+ ^- L% G o3 G2 Z }
: f# u/ ]- w. s8 _% y }
: e' ^7 W8 U7 D: i7 [& d3 e k: R8 j3 f" X5 S; p
groboutils-core-5.jar百度网盘下载地址:java自学网(javazx.com)groboutils-core-5.jar.zip【密码回帖可见】$ \: s& Z$ X2 S0 i
( y( P4 ^$ N( L7 |4 r
. m2 a* C5 p# | a; B% k3 {. }3 a
! v' _6 p4 C- u; q) h
! g( K6 i q0 ]. G/ R* b |