go程序使用连接字符串连接到数据库。目前,该连接字符串存储在环境变量中。
我的挑战是编写一个针对测试数据库运行程序的自动化测试。
我以为我会在测试的init()函数中设置连接字符串环境变量,但是在测试init()之前调用主程序的init()函数,所以这不起作用。
解决方法似乎是将连接字符串默认为测试数据库。如果没有定义环境变量,请使用test;如果它是定义的(生产),那么请改用它。
还有其他选择吗?有更好的方法吗?
答案 0 :(得分:0)
我目前的解决方案是使连接成为未初始化的全局。该函数检查连接是否为nil - 如果是,则初始化它。该测试有一个setup()函数,用于设置与集成测试数据库的连接 - 另一种方法是测试只需设置环境变量。