我正在与Mocha JS一起测试我对数据库进行的这些调用。但是,有一个调用检查数据库中正在进行的对象的数量,因此,我希望这是调用的最后一件事,以确保所有内容都已完成。目前,所有测试都分布在多个文件中。除了将所有测试放在一个文件中之外,有没有办法做到这一点,因为我只知道如何通过套件订购。
答案 0 :(得分:0)
在所有其他测试运行后,我不会尝试执行此类检查作为最终检查,因为:
Mocha旨在与彼此独立的测试一起使用。 Mocha允许您选择要运行的测试,这样如果您遇到故障,您只能运行那些失败的测试。依赖于其他测试的测试不能以这种方式单独运行。您必须列出您关心的测试以及依赖的测试,或者制作一个与它们匹配的正则表达式,但不匹配不需要的测试。
您希望运行最终测试,以检查所有早期测试是否已创建预期数量的对象。当我们编写测试套件时,由于存在多个隐藏彼此影响的错误,因此总是存在测试通过的风险。单个测试覆盖的代码越多(范围越大),风险就越高。您可以使用测试A创建一个无关对象,测试B创建一个小于预期的对象。每个bug都会隐藏另一个bug,你的套件会通过。您应该在每个测试结束时执行对象创建检查。通过缩小范围,可以降低错误相互隐藏的风险。如果检查的代码很大,您可以将它放在每个测试文件中加载的实用程序库中。
此外,通过在每次测试结束时完成检查,您可以确切知道套件出现故障时的问题所在。如果您在结尾处进行了一般计数检查且不匹配,那么哪个测试创建的对象多于或少于预期?你必须去寻找它。