pom.xml加入! ]; I5 O' N6 u; R
& s* M8 h- O1 x B% k' M9 C$ z<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 > 8 Q, ^5 C! G$ y& N' _% `$ y
@Test
! S2 m; J. p, K- \! g public void MultiRequestsTest() {4 c) J& W5 p; Y* p- v
// 构造一个Runner7 h. j, N8 m$ }; f3 H0 L
TestRunnable runner = new TestRunnable() {- V( A; h% A/ Q+ E
@Override% `( I2 ?4 L) k! o0 N
public void runTest() throws Throwable {* U) q/ s+ F$ n7 i
// 测试内容7 R% s3 f6 A8 J2 {: C
3 E/ d' ?0 C. Z" ?, c # c z7 X/ u$ J+ E2 j6 ~* o8 f- @9 h$ E
}* M5 {) y+ q; g' x2 [+ L* L
};2 F; G1 w b- V8 x
int runnerCount = 1000;
. ^; X" s% I T( v' b) U4 o4 E // Rnner数组,想当于并发多少个。
# b# b2 U1 E4 r2 p6 n% }/ s3 u) b TestRunnable[] trs = new TestRunnable5 \+ n+ \$ R1 i6 I
: D1 a; Q" c+ |) y; j) G4 U[runnerCount];* J* d5 A1 p1 A/ C& T
for (int i = 0; i < runnerCount; i++) {
1 b, x7 G, z' i! y/ b0 F trs = runner;
2 o$ r/ s1 o: t2 h5 |3 ?: ? }" h; y ~8 C, L! c# G$ }" E) o
// 用于执行多线程测试用例的Runner,将前面定义的/ K4 ]) j }, \2 c
1 z, e, p. p* X. _ h; C, |, Z单个Runner组成的数组传入
: R6 p( V9 o8 F7 l% g MultiThreadedTestRunner mttr = new, l Q( v* K( i
' D1 F7 k8 ]% ~0 ]; J
MultiThreadedTestRunner(trs);
/ B! \. } w% p2 q$ a try {
# `9 E5 X4 L' ]2 a/ \; U4 M // 开发并发执行数组里定义的内容
% @4 \% g0 G6 y- J! b+ G mttr.runTestRunnables();! V" ?$ N& A2 H6 B
} catch (Throwable e) {$ N$ j& F0 L: u8 w! V4 Q
e.printStackTrace();
0 `: a& f4 Z4 _ }$ ^& v) T7 j, S9 \
}5 C* C" X5 ?" n! B) k- X- U
|* }/ M1 g; {3 Egroboutils-core-5.jar百度网盘下载地址:java自学网(javazx.com)groboutils-core-5.jar.zip【密码回帖可见】
1 e) e4 q% M1 s* J4 A& u3 u& a# v2 Y& w) \
3 _7 ~! o, l/ d8 I
4 m4 Z0 y5 }4 Y M1 }2 m0 N0 j
4 t" Y" M4 u# U, f/ |
|