[英]haskell automated test configuration
我已经建立了一个项目,我想为此编写测试。 现在的问题是我在使用数据库的生产环境中的功能,但是在测试中,我想将它们定向到伪数据库。
例如,我有字符串mongoHostAdress = "192.168.0.1"
,我的函数使用该字符串访问mongo数据库,而我在测试时希望将其更改为mongoHostAdress = "127.0.0.1"
。
如何告诉Haskell自动为我执行此操作?
编辑:更一般的前景
如何为项目创建配置文件,并在项目的不同阶段使用不同的参数?
因此,概念是创建文件input.txt,如下所示:
fstParameterName:fstParameterValue
sndParameterName:sndParameterValue
trdParameterName:trdParameterValue
现在在main函数中,您可以使用如下构造轻松地设置参数:
main = do
text <- readFile "input.txt"
mongoHostAdress <- (getConfigValue "mongoHostAdress" (lines text))
print(mongoHostAdress)
getConfigValue name (l:ls) = if(containsPrefix name l)
then (return(skipPrefix name l))
else (getConfigValue name ls)
containsPrefix [] x = True
containsPrefix (x:xs) (y:ys) = if(x==y) then (containsPrefix xs ys) else False
skipPrefix [] (x:xs) = xs --x is just ":" and ofc we dont want it
skipPrefix (x:xs) (y:ys) = skipPrefix xs ys
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.