如何使用AVA

时间:2017-10-23 20:32:47

标签: javascript reactjs webpack jsdom ava

上下文

我有Frontend React + Webpack应用程序正在使用后端API。 我的Webpack设置依赖于window.location.origin属性,用于设置和部署过程。 目前,我正在使用Karma testrunner并试图用AVA testrunner替换它。

我正在尝试使用此single entry setup for webpack食谱应用AVA 我还将JSDOM用作节点的dom模拟器。

问题

捆绑了一些测试,使用location.origin属性。 这会在运行webpack && ava脚本时抛出错误:

var apiUrl = process.env.API_URL && process.env.NODE_ENV !== 'production' ? process.env.API_URL : location.origin;
ReferenceError: location is not defined

Karma在浏览器引擎上运行,并动态再现window.location.origin的值。 与AVA不同。运行测试时它不会运行任何类型的浏览器。我只能(据我所知)用jsdom“模拟”浏览器环境,这就是我想要做的。 但location.origin不支持特定jsdom属性 Issue Link

问题

有人能跟踪我的解决方案,为AVA动态(环保)重现window.location.origin吗? 我知道我可以将它保持不变并将其存储在.env每个环境中。 但这是我想要缓解的另一项维护任务。

0 个答案:

没有答案