我想使用基于角种子的前端进行端到端测试,如文档 Angular.js 中所述。后端是使用 django 编写的。当我尝试使用 jstestdriver(和代理选项)时,我收到来自码头的消息,说不允许对此 URL 的 GET 请求。
我怎样才能解决这个问题?还有其他方法可以在这样的设置中运行我的测试吗?
我是否正确理解它只是普通的 Jasmine 而测试驱动程序或多或少只是一个服务器?
Karma目前是受支持的测试运行器。这是我的testacular-e2e.conf.js
文件。
basePath = '../';
files = [
ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,
'test/e2e/**/*.js'
];
autoWatch = false;
browsers = ['Chrome'];
singleRun = true;
proxies = {
'/': 'http://localhost:3000/'
};
junitReporter = {
outputFile: 'test_out/e2e.xml',
suite: 'e2e'
};
重要的部分是proxies
。它将 testacular 配置为使用您的服务器。如果我没记错的话,Django 在开发中运行在端口 8000 上。所以proxies
看起来像这样:
proxies = {
'/': 'http://127.0.0.1:8000/'
};
通过 npm 安装 testacular 并创建此配置文件后,您可以启动后端服务器并运行您的 e2e 测试,如下所示:
$ testacular start config/testacular-e2e.conf.js
JsTestDriver 似乎不再维护,您也可以尝试使用 PhantomJS 运行测试,例如:https ://github.com/jcarver989/phantom-jasmine