Jasmine测试套件无法运行

时间:2018-05-23 07:05:57

标签: node.js npm jasmine

我无法弄清楚我为搞乱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运行。

对此有任何帮助表示赞赏。感谢您帮助新手程序员。

1 个答案:

答案 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测试套件起作用了。

我知道这意味着控制器无法正常加载。对此的充分理解仍然是难以捉摸的,所以如果有人有时间尝试解释,我将不胜感激。否则,我们可以考虑关闭这个问题。谢谢!