目前,我有以下结构:
/src
/tests/e2e
/specs
而我用于单元测试的specs
文件夹,specs
内的结构与src
内的结构相同。 (例如/src/user/validator.js
有一个/specs/user/validator.spec.js
文件。
但是,我觉得在根目录中有两个测试文件夹并不合适,而且我想知道社区中是否有任何关于此的约定。
我确实通过了这个帖子:Folder structure for a Node.js project。建议BDD为spec
,单元测试为tests
。但是,我使用BDD(使用Jasmine或Mocha):单元测试和e2e测试。
答案 0 :(得分:2)
可能有点晚了,但是为那些可能在这个问题上迷路的人添加了它。
我同意在根目录下有一个specs
文件夹对于单元测试来说很奇怪。如果我们定义:
然后我们可以建立一个项目结构,例如:
├── e2e/
├── src/
│ ├── controllers/
│ ├── routes/
│ └── utils/
│ ├── foo.js
│ └── foo.test.js
└── package.json
...
其中package.json
包含以下脚本:
"test:e2e": "node e2e",
"test:unit": "mocha server/**/*.test.js",
"test": "yarn run test:unit && yarn run test:e2e"
我认为这使所有内容完全分开,在每个单元测试旁边都放置了要测试的内容,并e2e
监督了所有内容(实际上是对src
进行了整体测试,因此,它处于同一水平是有道理的!)