【发布时间】:2017-08-16 02:55:42
【问题描述】:
我有使用角度本地化语言环境服务的角度服务方法。 我想为方法编写茉莉花测试用例,因为茉莉花无法做到 解决它。可能还没有完全解决
//service method
$scope.getExcelName = function() {
var name = locale.getString('export.fileName')
return name;
}
//lang file
'fileName': 'Status Report'
//Jasmine test case
describe('Service:MyService', function() {
var myService
beforeEach(module('app'))
beforeEach(inject(function($injector) {
myService = $injector.get('MyService');
}))
it('check export name', function() {
//myService.getExcel giving '' instead of Status Report
expect(myService.getExcelName()).toBe('Status Report')
})
})
如何解决上述问题?
【问题讨论】:
-
您不应该注入作用域并调用摘要以实现它吗?
-
我不确定你是否可以通过一等函数来期望:你通过 myService.getExcelName 并且你不调用它,尝试:expect(myService.getExcelName()).toBe('Status报告')。你想传递一流的函数以防你窥探它们,所以:expect(trackedFunction).toHaveBeenCalled();
-
你的意思是写
expect(myService.getExcelName())而不是expect(myService.getExcelName)? -
另外,请提供完整的服务代码。看起来您向我们展示的内容是指令或控制器的一部分。
-
@AndrewEisenberg 我的意思是写 myService.getExcelName()
标签: javascript jquery angularjs jasmine karma-jasmine