为啥在成功通过测试用例后,使用 nodeunit 的 nodejs 测试用例一直在 webstorm 中加载?

Posted

技术标签:

【中文标题】为啥在成功通过测试用例后,使用 nodeunit 的 nodejs 测试用例一直在 webstorm 中加载?【英文标题】:Why nodejs test case with nodeunit keep loading in webstorm after successfully passed the test cases?为什么在成功通过测试用例后,使用 nodeunit 的 nodejs 测试用例一直在 webstorm 中加载? 【发布时间】:2013-08-06 00:41:52 【问题描述】:

我正在做 nodejs 项目。我正在使用nodeunit npm 模块来测试我的服务器端代码库。我使用Webstorm 作为编辑器来编写我的代码,并在 nodeunit 模块的帮助下测试服务器端代码。

一切正常,我的测试用例正确通过,但测试用例的进度一直在 Webstorm 状态面板中加载。我每次都手动停止。有人对此有任何想法吗?

【问题讨论】:

您能否具体说明“测试用例进度不断加载”这句话的含义。 “停止”按钮是否处于活动状态(即运行测试的 Node.js 进程处于活动状态)? 当您在 webstorm 中使用 nodeunit 配置运行测试时,它将在 webstorm IDE 中打开一个状态面板以显示正在进行的状态。因此,成功通过测试用例后,该过程将继续加载。 抱歉问题不清楚。是的,当然,当在 webstorm 中运行带有 nodeunit 配置的测试时,WebStorm 会显示一个状态面板。我想知道的是 UI 中显示进程正在继续加载的位置。无论如何,这是一个错误,如果您在 youtrack.jetbrains.com/issues/WEB#newissue=yes 中提出问题,将不胜感激。在那里讨论这个错误会更方便。例如,可以在此处附上屏幕截图。 你解决过这个问题吗?我也有同样的问题 我只有在调试时才有这个,正常运行时没有。 【参考方案1】:

我遇到了同样的问题:所有nodeunit 测试都通过了,但 Webstorm 的微调器一直在运行。我通过显式关闭被测试代码打开的数据库连接解决了这个问题——我不必在测试代码之外做这件事,因为我的数据库驱动程序更喜欢在连接池中保持连接活动。

【讨论】:

【参考方案2】:

你在最后调用 done() 吗?例如

exports.globalSetterTest = function(test)
    var app = require('../helpers/globalsetter');
    app.setData("abc");
    var res = app.getData();
    test.equal(res, "abc", "msg");
    test.done();
;

我的设置和你一样,这里是我写的一些示例测试。 https://github.com/captainchung/webstormNodeUnitTests/blob/master/test/spec.js

【讨论】:

好的。我会调查的。

以上是关于为啥在成功通过测试用例后,使用 nodeunit 的 nodejs 测试用例一直在 webstorm 中加载?的主要内容,如果未能解决你的问题,请参考以下文章

软件测试之功能测试

如何使用 node-inspector 调试 nodeunit

Katalon Studio之web自动化(二)---创建测试用例

pytest学习指南-fixture基本使用

RIDE使用介绍

测试用例设计怎么做?怎么设计一个好的测试用例?