Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
1a4c63c2
提交
1a4c63c2
authored
7月 05, 2019
作者:
John Bergqvist
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add unit tests for com.xxl.job.core.biz.impl.ExecutorBizImpl
These tests were written usnig Diffblue cover
上级
3d951f2b
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
470 行增加
和
0 行删除
+470
-0
pom.xml
xxl-job-core/pom.xml
+29
-0
ExecutorBizImplTest.java
...t/java/com/xxl/job/core/biz/impl/ExecutorBizImplTest.java
+441
-0
没有找到文件。
xxl-job-core/pom.xml
浏览文件 @
1a4c63c2
...
@@ -44,6 +44,34 @@
...
@@ -44,6 +44,34 @@
<scope>
provided
</scope>
<scope>
provided
</scope>
</dependency>
</dependency>
<dependency>
<groupId>
org.powermock
</groupId>
<artifactId>
powermock-api-mockito
</artifactId>
<version>
1.6.5
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.powermock
</groupId>
<artifactId>
powermock-module-junit4
</artifactId>
<version>
1.6.5
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.mockito
</groupId>
<artifactId>
mockito-all
</artifactId>
<version>
1.10.19
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
com.diffblue
</groupId>
<artifactId>
deeptestutils
</artifactId>
<version>
1.9.0
</version>
<scope>
test
</scope>
</dependency>
</dependencies>
</dependencies>
</project>
</project>
\ No newline at end of file
xxl-job-core/src/test/java/com/xxl/job/core/biz/impl/ExecutorBizImplTest.java
0 → 100644
浏览文件 @
1a4c63c2
package
com
.
xxl
.
job
.
core
.
biz
.
impl
;
import
static
org
.
mockito
.
AdditionalMatchers
.
or
;
import
static
org
.
mockito
.
Matchers
.
anyInt
;
import
static
org
.
mockito
.
Matchers
.
anyLong
;
import
static
org
.
mockito
.
Matchers
.
isA
;
import
static
org
.
mockito
.
Matchers
.
isNull
;
import
static
org
.
powermock
.
api
.
mockito
.
PowerMockito
.
mockStatic
;
import
com.diffblue.deeptestutils.Reflector
;
import
com.diffblue.deeptestutils.mock.DTUMemberMatcher
;
import
com.xxl.job.core.biz.model.LogResult
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.executor.XxlJobExecutor
;
import
com.xxl.job.core.glue.GlueTypeEnum
;
import
com.xxl.job.core.handler.IJobHandler
;
import
com.xxl.job.core.handler.impl.ScriptJobHandler
;
import
com.xxl.job.core.log.XxlJobFileAppender
;
import
com.xxl.job.core.thread.JobThread
;
import
org.junit.Assert
;
import
org.junit.Rule
;
import
org.junit.Test
;
import
org.junit.rules.ExpectedException
;
import
org.junit.rules.Timeout
;
import
org.junit.runner.RunWith
;
import
org.powermock.api.mockito.PowerMockito
;
import
org.powermock.api.mockito.expectation.PowerMockitoStubber
;
import
org.powermock.core.classloader.annotations.PowerMockIgnore
;
import
org.powermock.core.classloader.annotations.PrepareForTest
;
import
org.powermock.modules.junit4.PowerMockRunner
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.Method
;
import
java.util.Date
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.LinkedBlockingQueue
;
@RunWith
(
PowerMockRunner
.
class
)
@PowerMockIgnore
({
"javax.management.*"
})
public
class
ExecutorBizImplTest
{
@Rule
public
final
ExpectedException
thrown
=
ExpectedException
.
none
();
@Rule
public
final
Timeout
globalTimeout
=
new
Timeout
(
10000
);
/* testedClasses: ExecutorBizImpl */
// Test written by Diffblue Cover.
@Test
public
void
beatOutputNotNull
()
{
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
// Act
final
ReturnT
<
String
>
retval
=
objectUnderTest
.
beat
();
// Assert result
Assert
.
assertNotNull
(
retval
);
Assert
.
assertNull
(((
ReturnT
<
String
>)
retval
).
getContent
());
Assert
.
assertEquals
(
200
,
retval
.
getCode
());
Assert
.
assertNull
(
retval
.
getMsg
());
}
// Test written by Diffblue Cover.
@Test
public
void
constructorOutputVoid
()
{
// Act, creating object to test constructor
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
// Method returns void, testing that no exception is thrown
}
// Test written by Diffblue Cover.
@PrepareForTest
({
ExecutorBizImpl
.
class
,
ConcurrentHashMap
.
class
,
XxlJobExecutor
.
class
})
@Test
public
void
idleBeatInputZeroOutputNotNull
()
throws
Exception
,
InvocationTargetException
{
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
final
int
jobId
=
0
;
final
ConcurrentHashMap
concurrentHashMap1
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
final
JobThread
jobThread
=
(
JobThread
)
Reflector
.
getInstance
(
"com.xxl.job.core.thread.JobThread"
);
Reflector
.
setField
(
jobThread
,
"stopReason"
,
null
);
Reflector
.
setField
(
jobThread
,
"running"
,
true
);
Reflector
.
setField
(
jobThread
,
"jobId"
,
0
);
Reflector
.
setField
(
jobThread
,
"idleTimes"
,
0
);
Reflector
.
setField
(
jobThread
,
"toStop"
,
false
);
Reflector
.
setField
(
jobThread
,
"triggerQueue"
,
null
);
Reflector
.
setField
(
jobThread
,
"handler"
,
null
);
Reflector
.
setField
(
jobThread
,
"triggerLogIdSet"
,
null
);
final
Method
getMethod
=
DTUMemberMatcher
.
method
(
ConcurrentHashMap
.
class
,
"get"
,
Object
.
class
);
PowerMockito
.
doReturn
(
jobThread
)
.
when
(
concurrentHashMap1
,
getMethod
)
.
withArguments
(
or
(
isA
(
Object
.
class
),
isNull
(
Object
.
class
)));
final
ConcurrentHashMap
concurrentHashMap
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
PowerMockito
.
whenNew
(
ConcurrentHashMap
.
class
)
.
withNoArguments
()
.
thenReturn
(
concurrentHashMap
)
.
thenReturn
(
concurrentHashMap1
);
// Act
final
ReturnT
<
String
>
retval
=
objectUnderTest
.
idleBeat
(
jobId
);
// Assert result
Assert
.
assertNotNull
(
retval
);
Assert
.
assertNull
(((
ReturnT
<
String
>)
retval
).
getContent
());
Assert
.
assertEquals
(
500
,
retval
.
getCode
());
Assert
.
assertEquals
(
"job thread is running or has trigger queue."
,
retval
.
getMsg
());
}
// Test written by Diffblue Cover.
@PrepareForTest
({
LinkedBlockingQueue
.
class
,
ExecutorBizImpl
.
class
,
ConcurrentHashMap
.
class
,
XxlJobExecutor
.
class
})
@Test
public
void
idleBeatInputZeroOutputNotNull2
()
throws
Exception
,
InvocationTargetException
{
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
final
int
jobId
=
0
;
final
ConcurrentHashMap
concurrentHashMap1
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
final
JobThread
jobThread
=
(
JobThread
)
Reflector
.
getInstance
(
"com.xxl.job.core.thread.JobThread"
);
Reflector
.
setField
(
jobThread
,
"stopReason"
,
null
);
Reflector
.
setField
(
jobThread
,
"running"
,
false
);
Reflector
.
setField
(
jobThread
,
"jobId"
,
0
);
Reflector
.
setField
(
jobThread
,
"idleTimes"
,
0
);
Reflector
.
setField
(
jobThread
,
"toStop"
,
false
);
final
LinkedBlockingQueue
linkedBlockingQueue
=
PowerMockito
.
mock
(
LinkedBlockingQueue
.
class
);
final
Method
sizeMethod
=
DTUMemberMatcher
.
method
(
LinkedBlockingQueue
.
class
,
"size"
);
PowerMockito
.
doReturn
(
0
).
when
(
linkedBlockingQueue
,
sizeMethod
).
withNoArguments
();
Reflector
.
setField
(
jobThread
,
"triggerQueue"
,
linkedBlockingQueue
);
Reflector
.
setField
(
jobThread
,
"handler"
,
null
);
Reflector
.
setField
(
jobThread
,
"triggerLogIdSet"
,
null
);
final
Method
getMethod
=
DTUMemberMatcher
.
method
(
ConcurrentHashMap
.
class
,
"get"
,
Object
.
class
);
PowerMockito
.
doReturn
(
jobThread
)
.
when
(
concurrentHashMap1
,
getMethod
)
.
withArguments
(
or
(
isA
(
Object
.
class
),
isNull
(
Object
.
class
)));
final
ConcurrentHashMap
concurrentHashMap
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
PowerMockito
.
whenNew
(
ConcurrentHashMap
.
class
)
.
withNoArguments
()
.
thenReturn
(
concurrentHashMap
)
.
thenReturn
(
concurrentHashMap1
);
// Act
final
ReturnT
<
String
>
retval
=
objectUnderTest
.
idleBeat
(
jobId
);
// Assert result
Assert
.
assertNotNull
(
retval
);
Assert
.
assertNull
(((
ReturnT
<
String
>)
retval
).
getContent
());
Assert
.
assertEquals
(
200
,
retval
.
getCode
());
Assert
.
assertNull
(
retval
.
getMsg
());
}
// Test written by Diffblue Cover.
@PrepareForTest
({
ExecutorBizImpl
.
class
,
ConcurrentHashMap
.
class
,
XxlJobExecutor
.
class
})
@Test
public
void
idleBeatInputZeroOutputNotNull3
()
throws
Exception
,
InvocationTargetException
{
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
final
int
jobId
=
0
;
final
ConcurrentHashMap
concurrentHashMap1
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
final
Method
getMethod
=
DTUMemberMatcher
.
method
(
ConcurrentHashMap
.
class
,
"get"
,
Object
.
class
);
PowerMockito
.
doReturn
(
null
)
.
when
(
concurrentHashMap1
,
getMethod
)
.
withArguments
(
or
(
isA
(
Object
.
class
),
isNull
(
Object
.
class
)));
final
ConcurrentHashMap
concurrentHashMap
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
PowerMockito
.
whenNew
(
ConcurrentHashMap
.
class
)
.
withNoArguments
()
.
thenReturn
(
concurrentHashMap
)
.
thenReturn
(
concurrentHashMap1
);
// Act
final
ReturnT
<
String
>
retval
=
objectUnderTest
.
idleBeat
(
jobId
);
// Assert result
Assert
.
assertNotNull
(
retval
);
Assert
.
assertNull
(((
ReturnT
<
String
>)
retval
).
getContent
());
Assert
.
assertEquals
(
200
,
retval
.
getCode
());
Assert
.
assertNull
(
retval
.
getMsg
());
}
// Test written by Diffblue Cover.
@PrepareForTest
({
ExecutorBizImpl
.
class
,
ConcurrentHashMap
.
class
,
XxlJobExecutor
.
class
})
@Test
public
void
killInputZeroOutputNotNull
()
throws
Exception
,
InvocationTargetException
{
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
final
int
jobId
=
0
;
final
ConcurrentHashMap
concurrentHashMap1
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
final
JobThread
jobThread
=
(
JobThread
)
Reflector
.
getInstance
(
"com.xxl.job.core.thread.JobThread"
);
Reflector
.
setField
(
jobThread
,
"stopReason"
,
null
);
Reflector
.
setField
(
jobThread
,
"running"
,
false
);
Reflector
.
setField
(
jobThread
,
"jobId"
,
0
);
Reflector
.
setField
(
jobThread
,
"idleTimes"
,
0
);
Reflector
.
setField
(
jobThread
,
"toStop"
,
false
);
Reflector
.
setField
(
jobThread
,
"triggerQueue"
,
null
);
Reflector
.
setField
(
jobThread
,
"handler"
,
null
);
Reflector
.
setField
(
jobThread
,
"triggerLogIdSet"
,
null
);
final
Method
getMethod
=
DTUMemberMatcher
.
method
(
ConcurrentHashMap
.
class
,
"get"
,
Object
.
class
);
PowerMockito
.
doReturn
(
jobThread
)
.
when
(
concurrentHashMap1
,
getMethod
)
.
withArguments
(
or
(
isA
(
Object
.
class
),
isNull
(
Object
.
class
)));
final
Method
removeMethod
=
DTUMemberMatcher
.
method
(
ConcurrentHashMap
.
class
,
"remove"
,
Object
.
class
);
PowerMockito
.
doReturn
(
null
)
.
when
(
concurrentHashMap1
,
removeMethod
)
.
withArguments
(
or
(
isA
(
Object
.
class
),
isNull
(
Object
.
class
)));
final
ConcurrentHashMap
concurrentHashMap
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
PowerMockito
.
whenNew
(
ConcurrentHashMap
.
class
)
.
withNoArguments
()
.
thenReturn
(
concurrentHashMap
)
.
thenReturn
(
concurrentHashMap1
);
// Act
final
ReturnT
<
String
>
retval
=
objectUnderTest
.
kill
(
jobId
);
// Assert result
Assert
.
assertNotNull
(
retval
);
Assert
.
assertNull
(((
ReturnT
<
String
>)
retval
).
getContent
());
Assert
.
assertEquals
(
200
,
retval
.
getCode
());
Assert
.
assertNull
(
retval
.
getMsg
());
}
// Test written by Diffblue Cover.
@PrepareForTest
({
ExecutorBizImpl
.
class
,
ConcurrentHashMap
.
class
,
XxlJobExecutor
.
class
})
@Test
public
void
killInputZeroOutputNotNull2
()
throws
Exception
,
InvocationTargetException
{
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
final
int
jobId
=
0
;
final
ConcurrentHashMap
concurrentHashMap1
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
final
Method
getMethod
=
DTUMemberMatcher
.
method
(
ConcurrentHashMap
.
class
,
"get"
,
Object
.
class
);
PowerMockito
.
doReturn
(
null
)
.
when
(
concurrentHashMap1
,
getMethod
)
.
withArguments
(
or
(
isA
(
Object
.
class
),
isNull
(
Object
.
class
)));
final
ConcurrentHashMap
concurrentHashMap
=
PowerMockito
.
mock
(
ConcurrentHashMap
.
class
);
PowerMockito
.
whenNew
(
ConcurrentHashMap
.
class
)
.
withNoArguments
()
.
thenReturn
(
concurrentHashMap
)
.
thenReturn
(
concurrentHashMap1
);
// Act
final
ReturnT
<
String
>
retval
=
objectUnderTest
.
kill
(
jobId
);
// Assert result
Assert
.
assertNotNull
(
retval
);
Assert
.
assertNull
(((
ReturnT
<
String
>)
retval
).
getContent
());
Assert
.
assertEquals
(
200
,
retval
.
getCode
());
Assert
.
assertEquals
(
"job thread aleady killed."
,
retval
.
getMsg
());
}
// Test written by Diffblue Cover.
@PrepareForTest
({
XxlJobFileAppender
.
class
,
ExecutorBizImpl
.
class
})
@Test
public
void
logInputZeroZeroZeroOutputNotNull
()
throws
Exception
,
InvocationTargetException
{
// Setup mocks
PowerMockito
.
mockStatic
(
XxlJobFileAppender
.
class
);
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
final
long
logDateTim
=
0L
;
final
int
logId
=
0
;
final
int
fromLineNum
=
0
;
final
ReturnT
returnT
=
PowerMockito
.
mock
(
ReturnT
.
class
);
PowerMockito
.
whenNew
(
ReturnT
.
class
)
.
withParameterTypes
(
Object
.
class
)
.
withArguments
(
or
(
isA
(
Object
.
class
),
isNull
(
Object
.
class
)))
.
thenReturn
(
returnT
);
final
Date
date
=
PowerMockito
.
mock
(
Date
.
class
);
Reflector
.
setField
(
date
,
"fastTime"
,
1_515_585_600_000L
);
PowerMockito
.
whenNew
(
Date
.
class
)
.
withParameterTypes
(
long
.
class
)
.
withArguments
(
anyLong
())
.
thenReturn
(
date
);
final
LogResult
logResult
=
(
LogResult
)
Reflector
.
getInstance
(
"com.xxl.job.core.biz.model.LogResult"
);
final
Method
readLogMethod
=
DTUMemberMatcher
.
method
(
XxlJobFileAppender
.
class
,
"readLog"
,
String
.
class
,
int
.
class
);
PowerMockito
.
doReturn
(
logResult
)
.
when
(
XxlJobFileAppender
.
class
,
readLogMethod
)
.
withArguments
(
or
(
isA
(
String
.
class
),
isNull
(
String
.
class
)),
anyInt
());
final
Method
makeLogFileNameMethod
=
DTUMemberMatcher
.
method
(
XxlJobFileAppender
.
class
,
"makeLogFileName"
,
Date
.
class
,
int
.
class
);
PowerMockito
.
doReturn
(
"?"
)
.
when
(
XxlJobFileAppender
.
class
,
makeLogFileNameMethod
)
.
withArguments
(
or
(
isA
(
Date
.
class
),
isNull
(
Date
.
class
)),
anyInt
());
// Act
final
ReturnT
<
LogResult
>
retval
=
objectUnderTest
.
log
(
logDateTim
,
logId
,
fromLineNum
);
// Assert result
Assert
.
assertNotNull
(
retval
);
}
// Test written by Diffblue Cover.
@PrepareForTest
({
XxlJobExecutor
.
class
,
GlueTypeEnum
.
class
,
JobThread
.
class
,
ExecutorBizImpl
.
class
,
TriggerParam
.
class
})
@Test
public
void
runInputNotNullOutputNotNull
()
throws
Exception
,
InvocationTargetException
{
// Setup mocks
PowerMockito
.
mockStatic
(
XxlJobExecutor
.
class
);
PowerMockito
.
mockStatic
(
GlueTypeEnum
.
class
);
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
final
TriggerParam
triggerParam
=
PowerMockito
.
mock
(
TriggerParam
.
class
);
final
Method
getJobIdMethod
=
DTUMemberMatcher
.
method
(
TriggerParam
.
class
,
"getJobId"
);
PowerMockito
.
doReturn
(
0
).
when
(
triggerParam
,
getJobIdMethod
).
withNoArguments
();
final
Method
getGlueTypeMethod
=
DTUMemberMatcher
.
method
(
TriggerParam
.
class
,
"getGlueType"
);
((
PowerMockitoStubber
)
PowerMockito
.
doReturn
(
"?"
).
doReturn
(
"?"
))
.
when
(
triggerParam
,
getGlueTypeMethod
)
.
withNoArguments
();
final
ReturnT
returnT
=
PowerMockito
.
mock
(
ReturnT
.
class
);
PowerMockito
.
whenNew
(
ReturnT
.
class
)
.
withParameterTypes
(
int
.
class
,
String
.
class
)
.
withArguments
(
anyInt
(),
or
(
isA
(
String
.
class
),
isNull
(
String
.
class
)))
.
thenReturn
(
returnT
);
final
GlueTypeEnum
glueTypeEnum
=
PowerMockito
.
mock
(
GlueTypeEnum
.
class
);
final
Method
isScriptMethod
=
DTUMemberMatcher
.
method
(
GlueTypeEnum
.
class
,
"isScript"
);
PowerMockito
.
doReturn
(
false
).
when
(
glueTypeEnum
,
isScriptMethod
).
withNoArguments
();
final
Method
matchMethod
=
DTUMemberMatcher
.
method
(
GlueTypeEnum
.
class
,
"match"
,
String
.
class
);
PowerMockito
.
doReturn
(
glueTypeEnum
)
.
when
(
GlueTypeEnum
.
class
,
matchMethod
)
.
withArguments
(
or
(
isA
(
String
.
class
),
isNull
(
String
.
class
)));
final
JobThread
jobThread
=
PowerMockito
.
mock
(
JobThread
.
class
);
final
IJobHandler
iJobHandler
=
(
IJobHandler
)
Reflector
.
getInstance
(
"com.xxl.job.core.handler.IJobHandler"
);
final
Method
getHandlerMethod
=
DTUMemberMatcher
.
method
(
JobThread
.
class
,
"getHandler"
);
PowerMockito
.
doReturn
(
iJobHandler
).
when
(
jobThread
,
getHandlerMethod
).
withNoArguments
();
final
Method
loadJobThreadMethod
=
DTUMemberMatcher
.
method
(
XxlJobExecutor
.
class
,
"loadJobThread"
,
int
.
class
);
PowerMockito
.
doReturn
(
jobThread
)
.
when
(
XxlJobExecutor
.
class
,
loadJobThreadMethod
)
.
withArguments
(
anyInt
());
// Act
final
ReturnT
<
String
>
retval
=
objectUnderTest
.
run
(
triggerParam
);
// Assert result
Assert
.
assertNotNull
(
retval
);
}
// Test written by Diffblue Cover.
@PrepareForTest
({
ExecutorBizImpl
.
class
,
XxlJobExecutor
.
class
,
TriggerParam
.
class
,
JobThread
.
class
,
GlueTypeEnum
.
class
})
@Test
public
void
runInputNotNullOutputNotNull2
()
throws
Exception
,
InvocationTargetException
{
// Setup mocks
PowerMockito
.
mockStatic
(
GlueTypeEnum
.
class
);
PowerMockito
.
mockStatic
(
XxlJobExecutor
.
class
);
// Arrange
final
ExecutorBizImpl
objectUnderTest
=
new
ExecutorBizImpl
();
final
TriggerParam
triggerParam
=
PowerMockito
.
mock
(
TriggerParam
.
class
);
final
Method
getJobIdMethod
=
DTUMemberMatcher
.
method
(
TriggerParam
.
class
,
"getJobId"
);
((
PowerMockitoStubber
)
PowerMockito
.
doReturn
(
0
).
doReturn
(
0
).
doReturn
(
0
))
.
when
(
triggerParam
,
getJobIdMethod
)
.
withNoArguments
();
final
Method
getGlueTypeMethod
=
DTUMemberMatcher
.
method
(
TriggerParam
.
class
,
"getGlueType"
);
((
PowerMockitoStubber
)
PowerMockito
.
doReturn
(
"?"
).
doReturn
(
"?"
))
.
when
(
triggerParam
,
getGlueTypeMethod
)
.
withNoArguments
();
final
Method
getGlueUpdatetimeMethod
=
DTUMemberMatcher
.
method
(
TriggerParam
.
class
,
"getGlueUpdatetime"
);
PowerMockito
.
doReturn
(
0L
).
when
(
triggerParam
,
getGlueUpdatetimeMethod
).
withNoArguments
();
final
Method
getGlueSourceMethod
=
DTUMemberMatcher
.
method
(
TriggerParam
.
class
,
"getGlueSource"
);
PowerMockito
.
doReturn
(
"?"
).
when
(
triggerParam
,
getGlueSourceMethod
).
withNoArguments
();
final
ScriptJobHandler
scriptJobHandler
=
PowerMockito
.
mock
(
ScriptJobHandler
.
class
);
PowerMockito
.
whenNew
(
ScriptJobHandler
.
class
)
.
withParameterTypes
(
int
.
class
,
long
.
class
,
String
.
class
,
GlueTypeEnum
.
class
)
.
withArguments
(
anyInt
(),
anyLong
(),
or
(
isA
(
String
.
class
),
isNull
(
String
.
class
)),
or
(
isA
(
GlueTypeEnum
.
class
),
isNull
(
GlueTypeEnum
.
class
)))
.
thenReturn
(
scriptJobHandler
);
final
JobThread
jobThread
=
PowerMockito
.
mock
(
JobThread
.
class
);
final
ReturnT
returnT
=
(
ReturnT
)
Reflector
.
getInstance
(
"com.xxl.job.core.biz.model.ReturnT"
);
final
Method
pushTriggerQueueMethod
=
DTUMemberMatcher
.
method
(
JobThread
.
class
,
"pushTriggerQueue"
,
TriggerParam
.
class
);
PowerMockito
.
doReturn
(
returnT
)
.
when
(
jobThread
,
pushTriggerQueueMethod
)
.
withArguments
(
or
(
isA
(
TriggerParam
.
class
),
isNull
(
TriggerParam
.
class
)));
final
Method
registJobThreadMethod
=
DTUMemberMatcher
.
method
(
XxlJobExecutor
.
class
,
"registJobThread"
,
int
.
class
,
IJobHandler
.
class
,
String
.
class
);
PowerMockito
.
doReturn
(
jobThread
)
.
when
(
XxlJobExecutor
.
class
,
registJobThreadMethod
)
.
withArguments
(
anyInt
(),
or
(
isA
(
IJobHandler
.
class
),
isNull
(
IJobHandler
.
class
)),
or
(
isA
(
String
.
class
),
isNull
(
String
.
class
)));
final
GlueTypeEnum
glueTypeEnum1
=
(
GlueTypeEnum
)
Reflector
.
getInstance
(
"com.xxl.job.core.glue.GlueTypeEnum"
);
final
GlueTypeEnum
glueTypeEnum
=
PowerMockito
.
mock
(
GlueTypeEnum
.
class
);
final
Method
isScriptMethod
=
DTUMemberMatcher
.
method
(
GlueTypeEnum
.
class
,
"isScript"
);
PowerMockito
.
doReturn
(
true
).
when
(
glueTypeEnum
,
isScriptMethod
).
withNoArguments
();
final
Method
matchMethod
=
DTUMemberMatcher
.
method
(
GlueTypeEnum
.
class
,
"match"
,
String
.
class
);
((
PowerMockitoStubber
)
PowerMockito
.
doReturn
(
glueTypeEnum
).
doReturn
(
glueTypeEnum1
))
.
when
(
GlueTypeEnum
.
class
,
matchMethod
)
.
withArguments
(
or
(
isA
(
String
.
class
),
isNull
(
String
.
class
)));
final
JobThread
jobThread1
=
PowerMockito
.
mock
(
JobThread
.
class
);
final
IJobHandler
iJobHandler1
=
(
IJobHandler
)
Reflector
.
getInstance
(
"com.xxl.job.core.handler.IJobHandler"
);
final
IJobHandler
iJobHandler
=
(
IJobHandler
)
Reflector
.
getInstance
(
"com.xxl.job.core.handler.IJobHandler"
);
final
Method
getHandlerMethod
=
DTUMemberMatcher
.
method
(
JobThread
.
class
,
"getHandler"
);
((
PowerMockitoStubber
)
PowerMockito
.
doReturn
(
iJobHandler
).
doReturn
(
iJobHandler1
))
.
when
(
jobThread1
,
getHandlerMethod
)
.
withNoArguments
();
final
Method
loadJobThreadMethod
=
DTUMemberMatcher
.
method
(
XxlJobExecutor
.
class
,
"loadJobThread"
,
int
.
class
);
PowerMockito
.
doReturn
(
jobThread1
)
.
when
(
XxlJobExecutor
.
class
,
loadJobThreadMethod
)
.
withArguments
(
anyInt
());
// Act
final
ReturnT
<
String
>
retval
=
objectUnderTest
.
run
(
triggerParam
);
// Assert result
Assert
.
assertNotNull
(
retval
);
}
// Test written by Diffblue Cover.
@Test
public
void
staticInitOutputVoid
()
throws
InvocationTargetException
{
// Act, using constructor to test static initializer
final
Object
constructed
=
Reflector
.
getInstance
(
"com.xxl.job.core.biz.impl.ExecutorBizImpl"
);
// Method returns void, testing that no exception is thrown
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论