[英]Run intern functional tests against static web app on localhost
我有一个静态网络应用程序。 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
在属性文件中进行了硬编码,我试图找到一种对Web应用程序运行测试的方法,其中serverUrl
指向localhost:1234/someFakeServer
以便可以测试错误情况等。
我已经拖网了,但是找不到任何人在做与我相似的远程操作,这让我觉得我做的事情显然是错误的。 有一些使用配置模块的NODE应用程序解决方案,但是由于我从来没有“启动”我的Web应用程序-它只是文件,因此这些文件对我不起作用。
我已经考虑过一些解决方案,但无法解决如何实现:
假设Intern可以访问属性文件,则只需让Intern加载属性文件并将服务器URL从中拉出即可。 如果您有多个潜在的属性文件,则可以在Intern配置中设置要使用的属性文件,或将其作为自定义命令行变量传递(该变量将用于在Intern配置中设置属性)。 测试模块可以从Intern的配置中获取属性文件的名称,然后加载相关文件。 它可能看起来像这样(未经测试):
// intern config
define({
// ...
propertiesFile: 'whatever',
})
// test file
define([ 'intern', ... ], function (intern, ...) {
registerSuite({
// ...
'a test': function () {
var did = this.async();
var remote = this.remote;
require([
intern.config.propertiesFile
], dfd.callback(function (props) {
return remote.get(props.url)
.otherStuff
});
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.