我无法弄清楚我为搞乱Jasmine而做了些什么。
这是我正在处理的回购链接的链接: https://github.com/bryanbeus/04-09-bloccit/tree/v0.1.3
问题以某种方式与文件/spec/integration/flairs_spec.js
,/spec/integration/post_spec.js
相关,可能还有更多。
运行npm test
之类的命令时可以看到问题。我得到以下结果:
04-09-bloccit@1.0.0 test /home/siddhartha/Documents/07-Temp/01-Bloc/04-09-bloccit
export NODE_ENV=test && jasmine
npm ERR! Test failed. See above for more details.
过去只有在我的代码中某处出现不可编译的错误时才会发生此ERR。 (例如,;
之类的简单内容不合适,或this
的使用不当。)
最近,我从其他人那里听说Jasmine的这种失败并不正常。通常,如果代码中存在问题,Jasmine仍然应该说些什么。 ?
无论问题是什么,它现在都在普遍使用。
我尝试使用此命令调用server
npm模块进行测试:
const server = require("../../src/server");
如果该行在我的文件中的任何位置,则整个Jasmine测试以完全相同的方式失败。 (npm ERR...
,没有其他细节。)
如果我通过调用npm test /spec/integration/flairs_spec.js
活动来运行server
,则测试会以npm ERR...
方式失败。
但是,如果我注释掉server
的电话,那么Jasmine至少会运行。它返回此错误:
....................
发起者 ˚F
失败: 1)路线:flairs GET / topics /:topicId / posts /:postId / flairs / new应该呈现一种新的风格形式 信息: 预期错误:将ECONNREFUSED 127.0.0.1:3000连接为null。 堆: 错误:预期错误:将ECONNREFUSED 127.0.0.1:3000连接为null。 在 在Request.request.get [as _callback](/home/siddhartha/Documents/07-Temp/01-Bloc/04-09-bloccit/spec/integration/flairs_spec.js:57:21) at self.callback(/home/siddhartha/Documents/07-Temp/01-Bloc/04-09-bloccit/node_modules/request/request.js:186:22) 在Request.emit(events.js:160:13) 在Request.onRequestError(/home/siddhartha/Documents/07-Temp/01-Bloc/04-09-bloccit/node_modules/request/request.js:878:8) 在ClientRequest.emit(events.js:160:13) 在Socket.socketErrorListener(_http_client.js:389:9) 在Socket.emit(events.js:160:13) 在emitErrorNT(internal / streams / destroy.js:64:8) at process._tickCallback(internal / process / next_tick.js:152:19) 信息: 预期未定义以包含' New Flair'。 堆: 错误:预期未定义以包含' New Flair'。 在 在Request.request.get [as _callback](/home/siddhartha/Documents/07-Temp/01-Bloc/04-09-bloccit/spec/integration/flairs_spec.js:58:22) at self.callback(/home/siddhartha/Documents/07-Temp/01-Bloc/04-09-bloccit/node_modules/request/request.js:186:22) 在Request.emit(events.js:160:13) 在Request.onRequestError(/home/siddhartha/Documents/07-Temp/01-Bloc/04-09-bloccit/node_modules/request/request.js:878:8) 在ClientRequest.emit(events.js:160:13) 在Socket.socketErrorListener(_http_client.js:389:9) 在Socket.emit(events.js:160:13) 在emitErrorNT(internal / streams / destroy.js:64:8) at process._tickCallback(internal / process / next_tick.js:152:19)
1规格,1失败 完成0.399秒 错误的ERR!测试失败。有关详细信息,请参见上文。
.......
因此,删除server
调用至少让Jasmine运行。
对此有任何帮助表示赞赏。感谢您帮助新手程序员。
答案 0 :(得分:1)
我找到了错误的来源。
使用git diff v0.1.2..v0.1.3
我能够看到最后一个工作分支与当前分支之间的差异。
从这里开始,我在db/src/controllers/flairController.js
中看到了我把它放在了天赋对象的控制器中:
const flairQueries = require("./db/queries.flairs.js");
问题在于目录不正确。我用它替换了它:
const flairQueries = require("../db/queries.flairs.js");
在此之后,Jasmine测试套件起作用了。
我知道这意味着控制器无法正常加载。对此的充分理解仍然是难以捉摸的,所以如果有人有时间尝试解释,我将不胜感激。否则,我们可以考虑关闭这个问题。谢谢!