提交 d914e274 编写于 作者: C Calvin

加强用例健壮性

上级 9c738c07
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
<prop key="org.quartz.threadPool.threadCount">5</prop> <prop key="org.quartz.threadPool.threadCount">5</prop>
</props> </props>
</property> </property>
<!-- 启动时延期3秒开始任务 --> <!-- 启动时延期2秒开始任务 -->
<property name="startupDelay" value="3" /> <property name="startupDelay" value="2" />
</bean> </bean>
<!-- Cron式Trigger定义 --> <!-- Cron式Trigger定义 -->
......
...@@ -2,6 +2,8 @@ package org.springside.examples.showcase.demos.schedule; ...@@ -2,6 +2,8 @@ package org.springside.examples.showcase.demos.schedule;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
...@@ -16,20 +18,27 @@ import org.springside.modules.utils.Threads; ...@@ -16,20 +18,27 @@ import org.springside.modules.utils.Threads;
@ContextConfiguration(locations = { "/applicationContext.xml", "/schedule/applicationContext-jdk-timer.xml" }) @ContextConfiguration(locations = { "/applicationContext.xml", "/schedule/applicationContext-jdk-timer.xml" })
public class JdkTimerJobTest extends SpringTransactionalTestCase { public class JdkTimerJobTest extends SpringTransactionalTestCase {
@Test private static Log4jMockAppender appender;
public void scheduleJob() throws Exception {
//加载测试用logger appender @BeforeClass
Log4jMockAppender appender = new Log4jMockAppender(); public static void initLogger() {
// 加载测试用logger appender
appender = new Log4jMockAppender();
appender.addToLogger(UserCountScanner.class); appender.addToLogger(UserCountScanner.class);
}
@AfterClass
public static void removeLogger() {
appender.removeFromLogger(UserCountScanner.class);
}
//等待任务启动 @Test
public void scheduleJob() throws Exception {
// 等待任务延时1秒启动并执行完毕
Threads.sleep(3000); Threads.sleep(3000);
//验证任务已执行 // 验证任务已执行
assertEquals(1, appender.getLogsCount()); assertEquals(1, appender.getLogsCount());
assertEquals("There are 6 user in database, printed by jdk timer job.", appender.getFirstMessage()); assertEquals("There are 6 user in database, printed by jdk timer job.", appender.getFirstMessage());
appender.removeFromLogger(UserCountScanner.class);
} }
} }
...@@ -2,6 +2,8 @@ package org.springside.examples.showcase.demos.schedule; ...@@ -2,6 +2,8 @@ package org.springside.examples.showcase.demos.schedule;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
...@@ -21,22 +23,29 @@ import org.springside.modules.utils.Threads; ...@@ -21,22 +23,29 @@ import org.springside.modules.utils.Threads;
@ContextConfiguration(locations = { "/applicationContext.xml", "/schedule/applicationContext-quartz-timer-cluster.xml" }) @ContextConfiguration(locations = { "/applicationContext.xml", "/schedule/applicationContext-quartz-timer-cluster.xml" })
public class QuartzTimerClusterJobTest extends SpringTransactionalTestCase { public class QuartzTimerClusterJobTest extends SpringTransactionalTestCase {
@Test private static Log4jMockAppender appender;
public void scheduleJob() throws Exception {
//加载测试用logger appender @BeforeClass
Log4jMockAppender appender = new Log4jMockAppender(); public static void initLogger() {
// 加载测试用logger appender
appender = new Log4jMockAppender();
appender.addToLogger(QuartzClusterableJob.class); appender.addToLogger(QuartzClusterableJob.class);
}
@AfterClass
public static void removeLogger() {
appender.removeFromLogger(QuartzClusterableJob.class);
}
//等待任务延时启动 @Test
public void scheduleJob() throws Exception {
// 等待任务延时2秒启动并执行完毕
Threads.sleep(4000); Threads.sleep(4000);
//验证任务已执行 // 验证任务已执行
assertEquals(1, appender.getLogsCount()); assertEquals(1, appender.getLogsCount());
assertEquals("There are 6 user in database, printed by quartz cluster job on node default.", assertEquals("There are 6 user in database, printed by quartz cluster job on node default.",
appender.getFirstMessage()); appender.getFirstMessage());
appender.removeFromLogger(QuartzClusterableJob.class);
} }
} }
...@@ -2,6 +2,8 @@ package org.springside.examples.showcase.demos.schedule; ...@@ -2,6 +2,8 @@ package org.springside.examples.showcase.demos.schedule;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
...@@ -16,19 +18,27 @@ import org.springside.modules.utils.Threads; ...@@ -16,19 +18,27 @@ import org.springside.modules.utils.Threads;
@ContextConfiguration(locations = { "/applicationContext.xml", "/schedule/applicationContext-spring-scheduler.xml" }) @ContextConfiguration(locations = { "/applicationContext.xml", "/schedule/applicationContext-spring-scheduler.xml" })
public class SpringTimerJobTest extends SpringTransactionalTestCase { public class SpringTimerJobTest extends SpringTransactionalTestCase {
@Test private static Log4jMockAppender appender;
public void scheduleJob() throws Exception {
@BeforeClass
public static void initLogger() {
// 加载测试用logger appender // 加载测试用logger appender
Log4jMockAppender appender = new Log4jMockAppender(); appender = new Log4jMockAppender();
appender.addToLogger(UserCountScanner.class); appender.addToLogger(UserCountScanner.class);
}
// 等待任务启动 @AfterClass
Threads.sleep(3000); public static void removeLogger() {
appender.removeFromLogger(UserCountScanner.class);
}
@Test
public void scheduleJob() throws Exception {
// 等待任务执行完毕
Threads.sleep(2000);
// 验证任务已执行 // 验证任务已执行
assertEquals(1, appender.getLogsCount()); assertEquals(1, appender.getLogsCount());
assertEquals("There are 6 user in database, printed by spring timer job by xml.", appender.getFirstMessage()); assertEquals("There are 6 user in database, printed by spring timer job by xml.", appender.getFirstMessage());
appender.removeFromLogger(UserCountScanner.class);
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册