我使用 Jasmine(在 Angular 中)通过以下测试访问服务器:
it("webmaster's email address", function(done) {
frisby.setup({
request: {
headers: {
'Authorization': Buffer.from(
component.getAuthService().toString()
),
'Content-Type': 'application/json',
'Accept': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'authorization, x-client-info, apikey, content-type',
}
}
}, true)
.get('http://localhost:80/api/getWebmasterEmail')
.then(function(response: any) {
expect(response.status).toBe(200)
})
.done(done);
})
但 Jasmine 返回以下错误:
Unhandled promise rejection: TypeError: response.textConverted is not a function
at http://localhost:9876/_karma_webpack_/webpack:/node_modules/frisby/src/frisby/spec.js:145:25
...
字符串“textConverted”在我的代码中无处可见,谷歌通常通过 github 项目知道这个函数(在我的代码中也无处可见)。
关于信息,我可以在 Chrome 的开发者栏中看到我的请求得到了正确的回答,状态为 200 和预期的内容(网站管理员的电子邮件地址)。