Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在MochaJS中有没有办法强制文件最后运行_Javascript_Node.js_Mocha.js - Fatal编程技术网

Javascript 在MochaJS中有没有办法强制文件最后运行

Javascript 在MochaJS中有没有办法强制文件最后运行,javascript,node.js,mocha.js,Javascript,Node.js,Mocha.js,我正在和Mocha JS一起测试我对数据库的调用。但是,有一个调用检查数据库中的对象数量,因此,我希望这是最后一个调用,以确保所有操作都已完成。目前,所有测试都分布在多个文件中。除了将所有测试放在一个文件中之外,还有什么方法可以做到这一点,因为我只知道如何通过套件订购。在所有其他测试运行后,我不会尝试执行此类检查作为最终检查,因为: 摩卡咖啡的设计目的是最好地配合相互独立的测试。Mocha允许您选择要运行的测试,以便在出现故障时只能运行那些失败的测试。依赖于其他测试的测试不能以这种方式轻松地孤立

我正在和Mocha JS一起测试我对数据库的调用。但是,有一个调用检查数据库中的对象数量,因此,我希望这是最后一个调用,以确保所有操作都已完成。目前,所有测试都分布在多个文件中。除了将所有测试放在一个文件中之外,还有什么方法可以做到这一点,因为我只知道如何通过套件订购。

在所有其他测试运行后,我不会尝试执行此类检查作为最终检查,因为:

  • 摩卡咖啡的设计目的是最好地配合相互独立的测试。Mocha允许您选择要运行的测试,以便在出现故障时只能运行那些失败的测试。依赖于其他测试的测试不能以这种方式轻松地孤立运行。您必须列出您关心的测试以及依赖的测试,或者创建一个正则表达式来匹配所有测试,但不匹配不需要的测试

  • 您希望运行一个最终测试,检查所有早期测试是否创建了预期数量的对象。当我们编写测试套件时,总有一个风险,即测试会通过,因为多个bug会隐藏彼此的影响。单个测试覆盖的代码越多(范围越大),风险就越高。您可以有创建一个无关对象的测试A和创建一个比预期少的对象的测试B。每个bug都隐藏了另一个bug的效果,您的套件就通过了。您应该在每个测试结束时执行对象创建检查。通过缩小范围,您可以降低bug相互隐藏的风险。如果用于检查的代码是实质性的,那么可以将其放在每个测试文件中加载的实用程序库中

  • 此外,通过在每次测试结束时进行检查,您可以确切地知道当套件失败时问题出在哪里。如果最后有一个常规计数检查,但它不匹配,那么哪个测试创建的对象比预期的多或少?你必须去寻找它


  • 在测试中,顺序应该无关紧要。如果一个测试依赖于另一个测试,那么它就不是一个好的测试。