繁体   English   中英

haskell自动化测试配置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM