我正在使用Jasmine和Karma进行前端单元测试。运行我的测试时,我收到以下错误:
终端错误
Chrome 59.0.3071 (Mac OS X 10.11.6) ERROR
Uncaught Response with status: 404 Not Found for URL: http://localhost:9876/api/volunteer
at http://localhost:9876/_karma_webpack_/polyfills.bundle.js:2604
Chrome 59.0.3071 (Mac OS X 10.11.6): Executed 4 of 6 ERROR (0 secs / 1.02 secs)
Chrome 59.0.3071 (Mac OS X 10.11.6) ERROR
Uncaught Response with status: 404 Not Found for URL: http://localhost:9876/api/volunteer
Chrome 59.0.3071 (Mac OS X 10.11.6): Executed 4 of 6 ERROR (1.433 secs / 1.02 secs)
浏览器错误
SignUpComponent should be created
[object ErrorEvent] thrown
SignUpComponent form should clear on submit
[object ErrorEvent] thrown
我无法弄清楚为什么终端告诉我我有404错误并且浏览器告诉我在sign-up.component.spec.ts中有错误。 sign-up.component.spec.ts不会发出任何http请求。
SignUpComponent可以在以下存储库的client / app / sign-up / sign-up.component.spec.ts中找到: https://github.com/cerberus-org/cerberus-app
我在尝试调试时注意到的是,如果我注释掉client / app / shared / volunteer.service.spec.ts,即使错误指向客户端/ app /注册/注册,所有测试都会通过。 component.spec.ts。
任何见解都表示赞赏。
答案 0 :(得分:0)
我相信我收到了这个错误,因为后端未被正确嘲笑。我没有使用XHRBackend,所以当其他测试试图进行http调用时,调用没有被模拟后端拦截和处理。
通过以下教程,我能够正确地模拟我的后端: https://semaphoreci.com/community/tutorials/testing-services-in-angular-2
本教程的“休息”部分最相关。