为什么从process.env中提取数据的测试代码返回null?

时间:2017-09-16 22:05:31

标签: javascript node.js redux mocha babel

我有一个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

有什么想法吗?

0 个答案:

没有答案