AngularJS+;茉莉花&x2B;$http请求中的JWT令牌
我试图用一个使用JWT身份验证令牌的API构建一些测试,但是我尝试测试的工厂使用AngularJS+;茉莉花&x2B;$http请求中的JWT令牌,angularjs,jasmine,jwt,ngresource,Angularjs,Jasmine,Jwt,Ngresource,我试图用一个使用JWT身份验证令牌的API构建一些测试,但是我尝试测试的工厂使用$resource,它需要配置JWT令牌。在应用程序中,我在.config中配置它,但在Jasmine中,我不知道它应该是什么,因为Jasmine在应用程序之前运行 我试图找到配置Jasmine请求的方法,或者在配置应用程序后运行测试 在这里,我试图配置Jasmine的请求 describe("Sync.Remote", function () { var Remote = angular.injector(
$resource
,它需要配置JWT令牌
。在应用程序中,我在.config
中配置它,但在Jasmine
中,我不知道它应该是什么,因为Jasmine在应用程序之前运行
我试图找到配置Jasmine请求的方法,或者在配置应用程序后运行测试
在这里,我试图配置Jasmine的请求
describe("Sync.Remote", function () {
var Remote = angular.injector(['sync.remote']).get('Remote')('Test', 'test')
, testingObject = { name: "Mario", lastname: "López" }
beforeEach(inject(function (_$httpProvider_, _jwtInterceptorProvider_, _$resourceProvider_) {
$httpProvider = _$httpProvider_
jwtInterceptorProvider = _jwtInterceptorProvider_
$resourceProvider = _$resourceProvider_
jwtInterceptorProvider.authPrefix = "JWT "
jwtInterceptorProvider.tokenGetter = function(config) {
if(config.url.indexOf("http://some.website.com") === 0) {
return "XXXXXXX-JWT-TOKEN"
}
}
$httpProvider.interceptors.push('jwtInterceptor')
$httpProvider.defaults.withCredentials = true
$resourceProvider.defaults.stripTrailingSlashes = false
}))
it("#_create es capaz de crear un objeto en la nube", function (done) {
Remote._create(testingObject)
.then(function (item) {
expect(item.id).not.toBe(undefined)
}, function (err) {
expect(0).toEqual(1)
})
.finally(done)
})
})
但它不起作用,因为
$resource
服务在远程工厂内,实际上是一种依赖关系。有什么想法吗?你能把你的远程工厂的代码和它产生的任何错误消息都包括进来吗?这里的评论有点晚,但听起来很明显,你不得不嘲笑资源提供者。