【问题标题】:When testing on browserstack using intern, can i get intern's server to apply url-rewriting rules when running functional tests使用实习生在浏览器堆栈上进行测试时,我可以让实习生的服务器在运行功能测试时应用 url 重写规则吗
【发布时间】:2015-12-10 17:58:06
【问题描述】:
【问题讨论】:
标签:
angularjs
url-rewriting
intern
【解决方案1】:
目前实习生服务器没有以启用此功能的方式公开。尽管它使用代理服务器来执行您期望的那种转换和重写,然后将代理 URL 指向该服务器,但您可以做什么。
您希望配置的重要部分看起来像这样(假设实习生 3 或更高版本):
define([
'intern',
'my/server/main'
], function (intern, server) {
return {
proxyPort: 9000,
proxyUrl: 'http://localhost:9001/',
setup: function() {
if (intern.mode === 'runner') {
server.start({ port: 9001 });
}
},
teardown: function() {
server.close();
}
};
});
您需要创建一个代理服务器来提供您需要的功能,并在适当的时候传递给 Intern 代理服务器。您可以将 Intern 代理服务器设置为侦听端口 (proxyPort: 9000),但您会指示 Intern 将客户端指向正在侦听不同端口的代理服务器 (proxyUrl: 'http://localhost:9001/') 的 URL。然后,如果intern.mode === 'runner',您将使用setup 和teardown 属性来启动和停止您的服务器。
举个实际的例子,看看dojo/core,其中代理服务器位于tests/services/echo.ts。