首页 > 解决方案 > Mocha 测试并需要缓存问题

问题描述

我试图在某种程度上将我的测试分成unit,integrationqa_requires文件夹。所以我想到了这个结构:

| /app
|  | ...
| /tests
|  | unit\
|  |  | file1.js
|  |  | file2.js
|  | integration\
|  |  | file1.js
|  |  | file2.js
|  | qa_requires\
|  |  | file1.js
|  |  | file2.js

AFAIK,节点中有一个缓存机制来处理这里读取的要求,但是文件位于不同的文件夹中,我无法告诉节点我做错了什么以避免需要所有测试。

问题:为什么如果我使用不带参数 () 的 mocha 调用测试 /tests 下的所有文件,node_modules/.bin/mocha它会找到/test/unit/file1.js并且仅此/tests/integration/file2.js而已?

标签: node.jstestingmocha.js

解决方案


好吧,经过多次尝试(并写了这篇文章),我修复了目录结构。

From                   To
| /app                 | /app
|  | ...               |  | ...
| /tests               | /tests
|  | file1.js          |  | unit\
|  | file2.js          |  |  | file1.js
|  |                   |  |  | file2.js
|  | integration\      |  | integration\
|  |  | file1.js       |  |  | file1.js
|  |  | file2.js       |  |  | file2.js
|  | qa_requires\      |  | qa_requires\
|  |  | file1.js       |  |  | file1.js
|  |  | file2.js       |  |  | file2.js

似乎tests根目录中的文件正在影响integrationqa_requires包含。--recursive在处理深层目录时需要使用 @Owner 的建议。


推荐阅读