我有一个Javascript库,可以将服务器端数据存储在前端的redux存储中。默认情况下,数据缓存十分钟。我添加了一个功能,通过在构建时使用环境变量来配置缓存周期,以覆盖默认周期。
我已经在这里的分支上实现了代码:cachePeriod.js
我在这里为文件编写了一些单元测试(使用mocha:cachePeriod.spec.js
目前,9项测试中有7项通过。问题是此代码将value
设置为null:
let value = process.env.CACHE_PERIOD ||
process.env.REACT_APP_CACHE_PERIOD ||
TEN_MINUTES
我使用的是一个共享函数,它接受CACHE_PERIOD和REACT_APP_CACHE_PERIOD的值。当CACHE_PERIOD和REACT_APP_CACHE_PERIOD都有值时,它会正确使用CACHE_PERIOD的值。但是当CACHE_PERIOD为null且REACT_APP_CACHE_PERIOD为值时,此行将值设置为null
。我完全不知道为什么。
我猜这个问题要么是a)javascript如何在CLI上与浏览器一起工作,或b)我在代码中遗漏了一些非常明显的东西。
我用来运行测试的命令是
node_modules/.bin/mocha --compilers js:babel-core/register --reporter spec test/cachePeriod.spec.js
我的所有其他env都存储在此分支的github上:feature/configurable-cache-period
有什么想法吗?