【发布时间】:2016-03-25 08:15:37
【问题描述】:
我正在尝试使用 angular-dynamic-local 在 Jasmine 单元测试中更改 AngularJS(通过 Karma 运行)的语言环境。
describe('currency filter', function () {
var currencyFilter;
var tmhDynamicLocale;
beforeEach(function () {
module('tmh.dynamicLocale');
inject(function ($injector) {
var $filter = $injector.get('$filter');
currencyFilter = $filter('currency');
tmhDynamicLocale = $injector.get('tmhDynamicLocale');
});
});
it('formats US currency in standard form', function () {
expect(currencyFilter(50.17)).toBe("$50.17");
});
it('formats French Canadian value with $ at end and comma for decimal', function () {
tmhDynamicLocale.set('fr-ca');
expect(currencyFilter(50.17)).toBe("50,17$");
});
});
第二次测试失败:
Expected '$50.17' to be '50,17$'.
语言环境从未改变。控制台提示404错误:
WARN [web-server]: 404: /angular/i18n/angular-locale_fr-ca.js
这个在浏览器中运行应用程序时识别的URL路径,通过Karma运行时似乎无法识别。
我错过了什么?
【问题讨论】:
标签: angularjs unit-testing localization internationalization karma-runner