【发布时间】:2016-11-08 15:41:39
【问题描述】:
我有一个静态网络应用程序。 Html、JS(requirejs 模块)和一些 CSS。 目前,“serverUrl”是通过一个属性模块设置的,我可以“要求”并使用它的值:
define({
serverUrl: 'https://some.api/path/'
})
我有 Intern 设置,可以使用 src/index.html 作为入口点在浏览器中运行功能测试。
return this.remote
.get(require.toUrl('src/index.html'))
鉴于serverUrl 在属性文件中是硬编码的,我正在尝试找到一种方法来针对serverUrl 指向localhost:1234/someFakeServer 的Web 应用程序运行测试,以便我可以测试错误场景等。
我在网上搜寻过,但找不到任何人和我做任何类似的事情,这让我觉得我做的事情显然是错误的。有使用配置模块的节点应用程序的解决方案,但是因为我从不“启动”我的网络应用程序 - 它只是文件,这些对我不起作用。
我想过一些解决方案,但不知道如何实现:
- Intern 正在代理 :9000 上的文件,所以如果我能以某种方式使用另一个指向 localhost 的属性文件“构建”一个应用程序,那么一切都很好。但我不知道该怎么做——我看过 webpack 和类似的东西,但他们似乎没有做我想做的事。
- 我查看了 Interns 'Setup' 配置项,它允许在测试开始之前运行一个函数 - 所以我想修改那里的属性文件,但似乎太老套了,不知道该怎么做放回去...
【问题讨论】:
-
所以总体目标是让应用使用 Intern 配置的 serverUrl?
-
不必由实习生配置,我只需要它可以根据环境和实习生进行配置,以便能够在任何上述环境中运行。
标签: javascript functional-testing intern