Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
4f620eb9
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4f620eb9
编写于
6月 28, 2017
作者:
G
Grzegorz Bizon
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'rc/a-better-stub-env' into 'master'
Use a slightly cleaner approach to stub ENV See merge request !12481
上级
6a71b574
8f13c1eb
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
27 addition
and
9 deletion
+27
-9
spec/support/stub_env.rb
spec/support/stub_env.rb
+27
-9
未找到文件。
spec/support/stub_env.rb
浏览文件 @
4f620eb9
# Inspired by https://github.com/ljkbennett/stub_env/blob/master/lib/stub_env/helpers.rb
module
StubENV
def
stub_env
(
key
,
value
)
allow
(
ENV
).
to
receive
(
:[]
).
and_call_original
unless
@env_already_stubbed
@env_already_stubbed
||=
true
def
stub_env
(
key_or_hash
,
value
=
nil
)
init_stub
unless
env_stubbed?
if
key_or_hash
.
is_a?
Hash
key_or_hash
.
each
{
|
k
,
v
|
add_stubbed_value
(
k
,
v
)
}
else
add_stubbed_value
key_or_hash
,
value
end
end
private
STUBBED_KEY
=
'__STUBBED__'
.
freeze
def
add_stubbed_value
(
key
,
value
)
allow
(
ENV
).
to
receive
(
:[]
).
with
(
key
).
and_return
(
value
)
allow
(
ENV
).
to
receive
(
:fetch
).
with
(
key
).
and_return
(
value
)
allow
(
ENV
).
to
receive
(
:fetch
).
with
(
key
,
anything
())
do
|
_
,
default_val
|
value
||
default_val
end
end
def
env_stubbed?
ENV
[
STUBBED_KEY
]
end
end
# It's possible that the state of the class variables are not reset across
# test runs.
RSpec
.
configure
do
|
config
|
config
.
after
(
:each
)
do
@env_already_stubbed
=
nil
def
init_stub
allow
(
ENV
).
to
receive
(
:[]
).
and_call_original
allow
(
ENV
).
to
receive
(
:fetch
).
and_call_original
add_stubbed_value
(
STUBBED_KEY
,
true
)
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录