我有一系列Jasmine
针对运行的测试AngularJs
使用 ECMAScript 国际化 API 的服务。当我通过 Chrome 运行它们时,它们都运行成功。但是,当我使用PhantomJS
通过 Maven 运行它们,它们看起来都失败了PhantomJs
尚不支持国际化 API。
我使用 Intl 对象进行测试时收到的错误消息是:
1:ReferenceError:找不到变量:Intl 在localizationService.js中
其余的测试都失败了。
测试很简单,如下所示:
it('Format date with en-us locale', (function (){
var date= "06/13/2013"
expect(service.date(date,'en-us')).toEqual("6/13/2013");
}))
服务 (localizationService.js) 中的方法是 Intl API 的简单包装器:
function getCurrentTimeZone(){
return Intl.DateTimeFormat().resolved.timeZone
}
function date(dateInput,locale,options){
// some other stuff
// ...
if (locale) {
return _date.toLocaleDateString(locale,options);
} else {
return _date.toLocaleDateString();
}
}
我的问题是:
1-我的假设正确吗PhantomJS v1.9.2
不支持ECMAScript internationalization API
?有什么办法可以证实这一点吗?
2-我该如何解决这个问题?我需要通过 Maven 运行我的测试,并且我将以一种或另一种方式对我的 localizationService API 进行更多测试。
Thanks