论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[25414] 2016-08-25_Mock在Python单元测试中的使用
文档创建者:
s7ckTeam
浏览次数:
1
最后更新:
2025-01-19
IOT
1 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2016-08-25_Mock在Python单元测试中的使用
M
o
c
k
在
P
y
t
h
o
n
单
元
测
试
中
的
使
用
原
创
译
者
:
c
p
o
s
t
u
r
e
L
i
n
u
x
中
国
2
0
1
6
-
0
8
-
2
5
本
文
讲
述
的
是
P
y
t
h
o
n
中
M
o
c
k
的
使
用
。
如
何
执
行
单
元
测
试
而
不
用
考
验
你
的
耐
心
如
何
执
行
单
元
测
试
而
不
用
考
验
你
的
耐
心
很
多
时
候
,
我
们
编
写
的
软
件
会
直
接
与
那
些
被
标
记
为
“
垃
圾
”
的
服
务
交
互
。
用
外
行
人
的
话
说
:
服
务
对
我
们
的
应
用
程
序
很
重
要
,
但
是
我
们
想
要
的
是
交
互
,
而
不
是
那
些
不
想
要
的
副
作
用
,
这
里
的
“
不
想
要
”
是
在
自
动
化
测
试
运
行
的
语
境
中
说
的
。
例
如
:
我
们
正
在
写
一
个
社
交
a
p
p
,
并
且
想
要
测
试
一
下
"
发
布
到
F
a
c
e
b
o
o
k
"
的
新
功
能
,
但
是
不
想
每
次
运
行
测
试
集
的
时
候
真
的
发
布
到
F
a
c
e
b
o
o
k
。
P
y
t
h
o
n
的
库
包
含
了
一
个
名
为
或
者
可
以
称
之
为
依
赖
的
子
包
,
简
称
为
—
—
其
提
供
了
极
其
强
大
和
有
用
的
方
法
,
通
过
它
们
可
以
m
o
c
k
模
拟
并
去
除
那
些
我
们
不
希
望
的
副
作
用
。
注
意
:
最
近
被
收
录
[
1
]
到
了
P
y
t
h
o
n
3
.
3
的
标
准
库
中
;
先
前
发
布
的
版
本
必
须
通
过
P
y
P
I
[
2
]
下
载
M
o
c
k
库
。
恐
惧
系
统
调
用
恐
惧
系
统
调
用
u
n
i
t
t
e
s
t
u
n
i
t
t
e
s
t
.
m
o
c
k
m
o
c
k
m
o
c
k
再
举
另
一
个
例
子
,
我
们
在
接
下
来
的
部
分
都
会
用
到
它
,
这
是
就
是
系
统
调
用
系
统
调
用
。
不
难
发
现
,
这
些
系
统
调
用
都
是
主
要
的
模
拟
对
象
:
无
论
你
是
正
在
写
一
个
可
以
弹
出
C
D
驱
动
器
的
脚
本
,
还
是
一
个
用
来
删
除
/
t
m
p
下
过
期
的
缓
存
文
件
的
W
e
b
服
务
,
或
者
一
个
绑
定
到
T
C
P
端
口
的
s
o
c
k
e
t
服
务
器
,
这
些
调
用
都
是
在
你
的
单
元
测
试
上
下
文
中
不
希
望
产
生
的
副
作
用
。
作
为
一
个
开
发
者
,
你
需
要
更
关
心
你
的
库
是
否
成
功
地
调
用
了
一
个
可
以
弹
出
C
D
的
系
统
函
数
(
使
用
了
正
确
的
参
数
等
等
)
,
而
不
是
切
身
经
历
C
D
托
盘
每
次
在
测
试
执
行
的
时
候
都
打
开
了
。
(
或
者
更
糟
糕
的
是
,
弹
出
了
很
多
次
,
在
一
个
单
元
测
试
运
行
期
间
多
个
测
试
都
引
用
了
弹
出
代
码
!
)
同
样
,
保
持
单
元
测
试
的
效
率
和
性
能
意
味
着
需
要
让
如
此
多
的
“
缓
慢
代
码
”
远
离
自
动
测
试
,
比
如
文
件
系
统
和
网
络
访
问
。
对
于
第
一
个
例
子
来
说
,
我
们
要
从
原
始
形
式
换
成
使
用
重
构
一
个
标
准
P
y
t
h
o
n
测
试
用
例
。
我
们
会
演
示
如
何
使
用
m
o
c
k
写
一
个
测
试
用
例
,
使
我
们
的
测
试
更
加
智
能
、
快
速
,
并
展
示
更
多
关
于
我
们
软
件
的
工
作
原
理
。
一
个
简
单
的
删
除
函
数
一
个
简
单
的
删
除
函
数
我
们
都
有
过
需
要
从
文
件
系
统
中
一
遍
又
一
遍
的
删
除
文
件
的
时
候
,
因
此
,
让
我
们
在
P
y
t
h
o
n
中
写
一
个
可
以
使
我
们
的
脚
本
更
加
轻
易
完
成
此
功
能
的
函
数
。
3
.
5
.
很
明
显
,
我
们
的
方
法
此
时
无
法
提
供
比
方
法
更
多
的
相
关
功
能
,
但
我
们
可
以
在
这
里
添
加
更
多
的
功
能
,
使
我
们
的
基
础
代
码
逐
步
改
善
。
让
我
们
写
一
个
传
统
的
测
试
用
例
,
即
,
没
有
使
用
:
3
.
m
o
c
k
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
i
m
p
o
r
t
o
s
6
.
d
e
f
r
m
(
f
i
l
e
n
a
m
e
)
:
7
.
o
s
.
r
e
m
o
v
e
(
f
i
l
e
n
a
m
e
)
r
m
o
s
.
r
e
m
o
v
e
m
o
c
k
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
f
r
o
m
m
y
m
o
d
u
l
e
i
m
p
o
r
t
r
m
5
.
9
.
1
1
.
1
3
.
1
7
.
我
们
的
测
试
用
例
相
当
简
单
,
但
是
在
它
每
次
运
行
的
时
候
,
它
都
会
创
建
一
个
临
时
文
件
并
且
随
后
删
除
。
此
外
,
我
们
没
有
办
法
测
试
我
们
的
方
法
是
否
正
确
地
将
我
们
的
参
数
向
下
传
递
给
调
用
。
我
们
可
以
基
于
以
上
的
测
试
认
为
它
做
到
了
,
但
还
有
很
多
需
要
改
进
的
地
方
。
使
用
使
用
M
o
c
k
重
构
重
构
让
我
们
使
用
m
o
c
k
重
构
我
们
的
测
试
用
例
:
3
.
4
.
f
r
o
m
m
y
m
o
d
u
l
e
i
m
p
o
r
t
r
m
6
.
i
m
p
o
r
t
o
s
.
p
a
t
h
7
.
i
m
p
o
r
t
t
e
m
p
f
i
l
e
8
.
i
m
p
o
r
t
u
n
i
t
t
e
s
t
1
0
.
c
l
a
s
s
R
m
T
e
s
t
C
a
s
e
(
u
n
i
t
t
e
s
t
.
T
e
s
t
C
a
s
e
)
:
1
2
.
t
m
p
f
i
l
e
p
a
t
h
=
o
s
.
p
a
t
h
.
j
o
i
n
(
t
e
m
p
f
i
l
e
.
g
e
t
t
e
m
p
d
i
r
(
)
,
"
t
m
p
-
t
e
s
t
f
i
l
e
"
)
1
4
.
d
e
f
s
e
t
U
p
(
s
e
l
f
)
:
1
5
.
w
i
t
h
o
p
e
n
(
s
e
l
f
.
t
m
p
f
i
l
e
p
a
t
h
,
"
w
b
"
)
a
s
f
:
1
6
.
f
.
w
r
i
t
e
(
"
D
e
l
e
t
e
m
e
!
"
)
1
8
.
d
e
f
t
e
s
t
_
r
m
(
s
e
l
f
)
:
1
9
.
#
r
e
m
o
v
e
t
h
e
f
i
l
e
2
0
.
r
m
(
s
e
l
f
.
t
m
p
f
i
l
e
p
a
t
h
)
2
1
.
#
t
e
s
t
t
h
a
t
i
t
w
a
s
a
c
t
u
a
l
l
y
r
e
m
o
v
e
d
2
2
.
s
e
l
f
.
a
s
s
e
r
t
F
a
l
s
e
(
o
s
.
p
a
t
h
.
i
s
f
i
l
e
(
s
e
l
f
.
t
m
p
f
i
l
e
p
a
t
h
)
,
"
F
a
i
l
e
d
t
o
r
e
m
o
v
e
t
h
e
f
i
l
e
.
"
)
r
m
o
s
.
r
e
m
o
v
e
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
f
r
o
m
m
y
m
o
d
u
l
e
i
m
p
o
r
t
r
m
5
.
8
.
1
0
.
使
用
这
些
重
构
,
我
们
从
根
本
上
改
变
了
测
试
用
例
的
操
作
方
式
。
现
在
,
我
们
有
一
个
可
以
用
于
验
证
其
他
功
能
的
内
部
对
象
。
潜
在
陷
阱
潜
在
陷
阱
第
一
件
需
要
注
意
的
事
情
就
是
,
我
们
使
用
了
方
法
装
饰
器
,
用
于
模
拟
位
于
的
对
象
,
并
且
将
m
o
c
k
注
入
到
我
们
的
测
试
用
例
方
法
。
那
么
只
是
模
拟
本
身
,
而
不
是
下
的
引
用
(
L
C
T
T
译
注
:
注
意
便
是
模
拟
下
的
)
,
会
不
会
更
有
意
义
呢
?
当
然
,
当
涉
及
到
导
入
和
管
理
模
块
,
P
y
t
h
o
n
的
用
法
就
像
蛇
一
样
灵
活
。
在
运
行
时
,
模
块
有
它
自
己
的
被
导
入
到
本
模
块
局
部
作
用
域
的
。
因
此
,
如
果
我
们
模
拟
,
我
们
是
看
不
到
m
o
c
k
在
6
.
i
m
p
o
r
t
m
o
c
k
7
.
i
m
p
o
r
t
u
n
i
t
t
e
s
t
9
.
c
l
a
s
s
R
m
T
e
s
t
C
a
s
e
(
u
n
i
t
t
e
s
t
.
T
e
s
t
C
a
s
e
)
:
1
1
.
@
m
o
c
k
.
p
a
t
c
h
(
'
m
y
m
o
d
u
l
e
.
o
s
'
)
1
2
.
d
e
f
t
e
s
t
_
r
m
(
s
e
l
f
,
m
o
c
k
_
o
s
)
:
1
3
.
r
m
(
"
a
n
y
p
a
t
h
"
)
1
4
.
#
t
e
s
t
t
h
a
t
r
m
c
a
l
l
e
d
o
s
.
r
e
m
o
v
e
w
i
t
h
t
h
e
r
i
g
h
t
p
a
r
a
m
e
t
e
r
s
1
5
.
m
o
c
k
_
o
s
.
r
e
m
o
v
e
.
a
s
s
e
r
t
_
c
a
l
l
e
d
_
w
i
t
h
(
"
a
n
y
p
a
t
h
"
)
m
o
c
k
.
p
a
t
c
h
m
y
m
o
d
u
l
e
.
o
s
o
s
m
y
m
o
d
u
l
e
.
o
s
o
s
@
m
o
c
k
.
p
a
t
c
h
(
'
m
y
m
o
d
u
l
e
.
o
s
'
)
m
y
m
o
d
u
l
e
.
o
s
o
s
m
y
m
o
d
u
l
e
o
s
o
s
m
y
m
o
d
u
l
e
模
块
中
的
模
仿
作
用
的
。
这
句
话
需
要
深
刻
地
记
住
:
模
拟
一
个
东
西
要
看
它
用
在
何
处
,
而
不
是
来
自
哪
里
。
如
果
你
需
要
为
模
拟
模
块
,
你
可
能
需
要
将
m
o
c
k
用
于
,
而
其
他
模
块
保
持
自
己
的
导
入
。
先
将
那
个
陷
阱
放
一
边
,
让
我
们
继
续
模
拟
。
向
向
‘
r
m
’
中
加
入
验
证
中
加
入
验
证
之
前
定
义
的
r
m
方
法
相
当
的
简
单
。
在
盲
目
地
删
除
之
前
,
我
们
倾
向
于
验
证
一
个
路
径
是
否
存
在
,
并
验
证
其
是
否
是
一
个
文
件
。
让
我
们
重
构
r
m
使
其
变
得
更
加
智
能
:
3
.
6
.
很
好
。
现
在
,
让
我
们
调
整
测
试
用
例
来
保
持
测
试
的
覆
盖
率
。
3
.
5
.
m
y
p
r
o
j
e
c
t
.
a
p
p
.
M
y
E
l
a
b
o
r
a
t
e
C
l
a
s
s
t
e
m
p
f
i
l
e
m
y
p
r
o
j
e
c
t
.
a
p
p
.
t
e
m
p
f
i
l
e
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
i
m
p
o
r
t
o
s
5
.
i
m
p
o
r
t
o
s
.
p
a
t
h
7
.
d
e
f
r
m
(
f
i
l
e
n
a
m
e
)
:
8
.
i
f
o
s
.
p
a
t
h
.
i
s
f
i
l
e
(
f
i
l
e
n
a
m
e
)
:
9
.
o
s
.
r
e
m
o
v
e
(
f
i
l
e
n
a
m
e
)
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
f
r
o
m
m
y
m
o
d
u
l
e
i
m
p
o
r
t
r
m
8
.
1
0
.
1
6
.
1
8
.
2
1
.
2
4
.
2
6
.
我
们
的
测
试
用
例
完
全
改
变
了
。
现
在
我
们
可
以
在
没
有
任
何
副
作
用
的
情
况
下
核
实
并
验
证
方
法
的
内
部
功
能
。
将
文
件
删
除
作
为
服
务
将
文
件
删
除
作
为
服
务
到
目
前
为
止
,
我
们
只
是
将
m
o
c
k
应
用
在
函
数
上
,
并
没
应
用
在
需
要
传
递
参
数
的
对
象
和
实
例
的
方
法
上
。
我
们
现
在
开
始
涵
盖
对
象
的
方
法
。
首
先
,
我
们
将
方
法
重
构
成
一
个
服
务
类
。
实
际
上
将
这
样
一
个
简
单
的
函
数
转
换
成
一
个
对
象
,
在
本
质
上
这
不
是
一
个
合
理
的
需
求
,
但
它
能
够
帮
助
我
们
了
解
的
关
键
概
念
。
让
我
们
开
始
重
构
:
6
.
i
m
p
o
r
t
m
o
c
k
7
.
i
m
p
o
r
t
u
n
i
t
t
e
s
t
9
.
c
l
a
s
s
R
m
T
e
s
t
C
a
s
e
(
u
n
i
t
t
e
s
t
.
T
e
s
t
C
a
s
e
)
:
1
1
.
@
m
o
c
k
.
p
a
t
c
h
(
'
m
y
m
o
d
u
l
e
.
o
s
.
p
a
t
h
'
)
1
2
.
@
m
o
c
k
.
p
a
t
c
h
(
'
m
y
m
o
d
u
l
e
.
o
s
'
)
1
3
.
d
e
f
t
e
s
t
_
r
m
(
s
e
l
f
,
m
o
c
k
_
o
s
,
m
o
c
k
_
p
a
t
h
)
:
1
4
.
#
s
e
t
u
p
t
h
e
m
o
c
k
1
5
.
m
o
c
k
_
p
a
t
h
.
i
s
f
i
l
e
.
r
e
t
u
r
n
_
v
a
l
u
e
=
F
a
l
s
e
1
7
.
r
m
(
"
a
n
y
p
a
t
h
"
)
1
9
.
#
t
e
s
t
t
h
a
t
t
h
e
r
e
m
o
v
e
c
a
l
l
w
a
s
N
O
T
c
a
l
l
e
d
.
2
0
.
s
e
l
f
.
a
s
s
e
r
t
F
a
l
s
e
(
m
o
c
k
_
o
s
.
r
e
m
o
v
e
.
c
a
l
l
e
d
,
"
F
a
i
l
e
d
t
o
n
o
t
r
e
m
o
v
e
t
h
e
f
i
l
e
i
f
n
o
t
p
r
e
s
e
n
t
.
"
)
2
2
.
#
m
a
k
e
t
h
e
f
i
l
e
'
e
x
i
s
t
'
2
3
.
m
o
c
k
_
p
a
t
h
.
i
s
f
i
l
e
.
r
e
t
u
r
n
_
v
a
l
u
e
=
T
r
u
e
2
5
.
r
m
(
"
a
n
y
p
a
t
h
"
)
2
7
.
m
o
c
k
_
o
s
.
r
e
m
o
v
e
.
a
s
s
e
r
t
_
c
a
l
l
e
d
_
w
i
t
h
(
"
a
n
y
p
a
t
h
"
)
r
m
m
o
c
k
3
.
6
.
9
.
你
会
注
意
到
我
们
的
测
试
用
例
没
有
太
大
变
化
:
3
.
5
.
8
.
1
0
.
1
6
.
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
i
m
p
o
r
t
o
s
5
.
i
m
p
o
r
t
o
s
.
p
a
t
h
7
.
c
l
a
s
s
R
e
m
o
v
a
l
S
e
r
v
i
c
e
(
o
b
j
e
c
t
)
:
8
.
"
"
"
A
s
e
r
v
i
c
e
f
o
r
r
e
m
o
v
i
n
g
o
b
j
e
c
t
s
f
r
o
m
t
h
e
f
i
l
e
s
y
s
t
e
m
.
"
"
"
1
0
.
d
e
f
r
m
(
f
i
l
e
n
a
m
e
)
:
1
1
.
i
f
o
s
.
p
a
t
h
.
i
s
f
i
l
e
(
f
i
l
e
n
a
m
e
)
:
1
2
.
o
s
.
r
e
m
o
v
e
(
f
i
l
e
n
a
m
e
)
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
f
r
o
m
m
y
m
o
d
u
l
e
i
m
p
o
r
t
R
e
m
o
v
a
l
S
e
r
v
i
c
e
6
.
i
m
p
o
r
t
m
o
c
k
7
.
i
m
p
o
r
t
u
n
i
t
t
e
s
t
9
.
c
l
a
s
s
R
e
m
o
v
a
l
S
e
r
v
i
c
e
T
e
s
t
C
a
s
e
(
u
n
i
t
t
e
s
t
.
T
e
s
t
C
a
s
e
)
:
1
1
.
@
m
o
c
k
.
p
a
t
c
h
(
'
m
y
m
o
d
u
l
e
.
o
s
.
p
a
t
h
'
)
1
2
.
@
m
o
c
k
.
p
a
t
c
h
(
'
m
y
m
o
d
u
l
e
.
o
s
'
)
1
3
.
d
e
f
t
e
s
t
_
r
m
(
s
e
l
f
,
m
o
c
k
_
o
s
,
m
o
c
k
_
p
a
t
h
)
:
1
4
.
#
i
n
s
t
a
n
t
i
a
t
e
o
u
r
s
e
r
v
i
c
e
1
5
.
r
e
f
e
r
e
n
c
e
=
R
e
m
o
v
a
l
S
e
r
v
i
c
e
(
)
1
9
.
2
1
.
2
4
.
2
7
.
2
9
.
很
好
,
我
们
知
道
会
如
预
期
般
的
工
作
。
接
下
来
让
我
们
创
建
另
一
个
服
务
,
将
声
明
为
它
的
一
个
依
赖
:
3
.
6
.
9
.
1
7
.
#
s
e
t
u
p
t
h
e
m
o
c
k
1
8
.
m
o
c
k
_
p
a
t
h
.
i
s
f
i
l
e
.
r
e
t
u
r
n
_
v
a
l
u
e
=
F
a
l
s
e
2
0
.
r
e
f
e
r
e
n
c
e
.
r
m
(
"
a
n
y
p
a
t
h
"
)
2
2
.
#
t
e
s
t
t
h
a
t
t
h
e
r
e
m
o
v
e
c
a
l
l
w
a
s
N
O
T
c
a
l
l
e
d
.
2
3
.
s
e
l
f
.
a
s
s
e
r
t
F
a
l
s
e
(
m
o
c
k
_
o
s
.
r
e
m
o
v
e
.
c
a
l
l
e
d
,
"
F
a
i
l
e
d
t
o
n
o
t
r
e
m
o
v
e
t
h
e
f
i
l
e
i
f
n
o
t
p
r
e
s
e
n
t
.
"
)
2
5
.
#
m
a
k
e
t
h
e
f
i
l
e
'
e
x
i
s
t
'
2
6
.
m
o
c
k
_
p
a
t
h
.
i
s
f
i
l
e
.
r
e
t
u
r
n
_
v
a
l
u
e
=
T
r
u
e
2
8
.
r
e
f
e
r
e
n
c
e
.
r
m
(
"
a
n
y
p
a
t
h
"
)
3
0
.
m
o
c
k
_
o
s
.
r
e
m
o
v
e
.
a
s
s
e
r
t
_
c
a
l
l
e
d
_
w
i
t
h
(
"
a
n
y
p
a
t
h
"
)
R
e
m
o
v
a
l
S
e
r
v
i
c
e
R
e
m
o
v
a
l
S
e
r
v
i
c
e
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
i
m
p
o
r
t
o
s
5
.
i
m
p
o
r
t
o
s
.
p
a
t
h
7
.
c
l
a
s
s
R
e
m
o
v
a
l
S
e
r
v
i
c
e
(
o
b
j
e
c
t
)
:
8
.
"
"
"
A
s
e
r
v
i
c
e
f
o
r
r
e
m
o
v
i
n
g
o
b
j
e
c
t
s
f
r
o
m
t
h
e
f
i
l
e
s
y
s
t
e
m
.
"
"
"
1
0
.
d
e
f
r
m
(
s
e
l
f
,
f
i
l
e
n
a
m
e
)
:
1
1
.
i
f
o
s
.
p
a
t
h
.
i
s
f
i
l
e
(
f
i
l
e
n
a
m
e
)
:
o
s
.
r
e
m
o
v
e
(
f
i
l
e
n
a
m
e
)
1
3
.
1
4
.
1
6
.
1
9
.
因
为
我
们
的
测
试
覆
盖
了
,
因
此
我
们
不
会
对
我
们
测
试
用
例
中
的
内
部
函
数
进
行
验
证
。
相
反
,
我
们
将
调
用
的
方
法
来
进
行
简
单
测
试
(
当
然
没
有
其
他
副
作
用
)
,
我
们
通
过
之
前
的
测
试
用
例
便
能
知
道
它
可
以
正
确
地
工
作
。
这
里
有
两
种
方
法
来
实
现
测
试
:
1
.
模
拟
R
e
m
o
v
a
l
S
e
r
v
i
c
e
.
r
m
方
法
本
身
。
2
.
在
U
p
l
o
a
d
S
e
r
v
i
c
e
的
构
造
函
数
中
提
供
一
个
模
拟
实
例
。
因
为
这
两
种
方
法
都
是
单
元
测
试
中
非
常
重
要
的
方
法
,
所
以
我
们
将
同
时
对
这
两
种
方
法
进
行
回
顾
。
方
法
方
法
1
:
模
拟
实
例
的
方
法
:
模
拟
实
例
的
方
法
库
有
一
个
特
殊
的
方
法
装
饰
器
,
可
以
模
拟
对
象
实
例
的
方
法
和
属
性
,
即
装
饰
器
:
3
.
1
2
.
o
s
.
r
e
m
o
v
e
(
f
i
l
e
n
a
m
e
)
1
5
.
c
l
a
s
s
U
p
l
o
a
d
S
e
r
v
i
c
e
(
o
b
j
e
c
t
)
:
1
7
.
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
,
r
e
m
o
v
a
l
_
s
e
r
v
i
c
e
)
:
1
8
.
s
e
l
f
.
r
e
m
o
v
a
l
_
s
e
r
v
i
c
e
=
r
e
m
o
v
a
l
_
s
e
r
v
i
c
e
2
0
.
d
e
f
u
p
l
o
a
d
_
c
o
m
p
l
e
t
e
(
s
e
l
f
,
f
i
l
e
n
a
m
e
)
:
2
1
.
s
e
l
f
.
r
e
m
o
v
a
l
_
s
e
r
v
i
c
e
.
r
m
(
f
i
l
e
n
a
m
e
)
R
e
m
o
v
a
l
S
e
r
v
i
c
e
U
p
l
o
a
d
S
e
r
v
i
c
e
r
m
U
p
l
o
a
d
S
e
r
v
i
c
e
R
e
m
o
v
a
l
S
e
r
v
i
c
e
.
r
m
m
o
c
k
@
m
o
c
k
.
p
a
t
c
h
.
o
b
j
e
c
t
d
e
c
o
r
a
t
o
r
1
.
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
.
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
4
.
f
r
o
m
m
y
m
o
d
u
l
e
i
m
p
o
r
t
R
e
m
o
v
a
l
S
e
r
v
i
c
e
,
U
p
l
o
a
d
S
e
r
v
i
c
e
5
.
8
.
1
0
.
1
6
.
1
9
.
2
1
.
2
4
.
2
7
.
2
9
.
3
1
.
3
2
.
3
4
.
6
.
i
m
p
o
r
t
m
o
c
k
7
.
i
m
p
o
r
t
u
n
i
t
t
e
s
t
9
.
c
l
a
s
s
R
e
m
o
v
a
l
S
e
r
v
i
c
e
T
e
s
t
C
a
s
e
(
u
n
i
t
t
e
s
t
.
T
e
s
t
C
a
s
e
)
:
1
1
.
@
m
o
c
k
.
p
a
t
c
h
(
'
m
y
m
o
d
u
l
e
.
o
s
.
p
a
t
h
'
)
1
2
.
@
m
o
c
k
.
p
a
t
c
h
(
'
m
y
m
o
d
u
l
e
.
o
s
'
)
1
3
.
d
e
f
t
e
s
t
_
r
m
(
s
e
l
f
,
m
o
c
k
_
o
s
,
m
o
c
k
_
p
a
t
h
)
:
1
4
.
#
i
n
s
t
a
n
t
i
a
t
e
o
u
r
s
e
r
v
i
c
e
1
5
.
r
e
f
e
r
e
n
c
e
=
R
e
m
o
v
a
l
S
e
r
v
i
c
e
(
)
1
7
.
#
s
e
t
u
p
t
h
e
m
o
c
k
1
8
.
m
o
c
k
_
p
a
t
h
.
i
s
f
i
l
e
.
r
e
t
u
r
n
_
v
a
l
u
e
=
F
a
l
s
e
2
0
.
r
e
f
e
r
e
n
c
e
.
r
m
(
"
a
n
y
p
a
t
h
"
)
2
2
.
#
t
e
s
t
t
h
a
t
t
h
e
r
e
m
o
v
e
c
a
l
l
w
a
s
N
O
T
c
a
l
l
e
d
.
2
3
.
s
e
l
f
.
a
s
s
e
r
t
F
a
l
s
e
(
m
o
c
k
_
o
s
.
r
e
m
o
v
e
.
c
a
l
l
e
d
,
"
F
a
i
l
e
d
t
o
n
o
t
r
e
m
o
v
e
t
h
e
f
i
l
e
i
f
n
o
t
p
r
e
s
e
n
t
.
"
)
2
5
.
#
m
a
k
e
t
h
e
f
i
l
e
'
e
x
i
s
t
'
2
6
.
m
o
c
k
_
p
a
t
h
.
i
s
f
i
l
e
.
r
e
t
u
r
n
_
v
a
l
u
e
=
T
r
u
e
2
8
.
r
e
f
e
r
e
n
c
e
.
r
m
(
"
a
n
y
p
a
t
h
"
)
3
0
.
m
o
c
k
_
o
s
.
r
e
m
o
v
e
.
a
s
s
e
r
t
_
c
a
l
l
e
d
_
w
i
t
h
(
"
a
n
y
p
a
t
h
"
)
3
3
.
c
l
a
s
s
U
p
l
o
a
d
S
e
r
v
i
c
e
T
e
s
t
C
a
s
e
(
u
n
i
t
t
e
s
t
.
T
e
s
t
C
a
s
e
)
:
3
5
.
@
m
o
c
k
.
p
a
t
c
h
.
o
b
j
e
c
t
(
R
e
m
o
v
a
l
S
e
r
v
i
c
e
,
'
r
m
'
)
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页