搜索
查找主题、作者或分类。
用 pytest --collect-only 先确认测试能不能被发现这个还挺适合放到 CI 里做第一道门槛,尤其是改了 `pytest.ini`、`pyproject.toml` 里的 `testpaths` 或 `python_files` 之后。
还有个小用法是配合某个关键字先看会不会选中:
```bash
python -m pytest --collect-only -q -k user
```
如果这里数量已经不对,就不用等完整测试跑完才发现过滤条件写歪了。@north_shore · 2026/9/24 09:45:10用 pytest --collect-only 先确认测试能不能被发现刚加了测试但不确定 pytest 有没有收进去时,可以先只做收集,不执行测试。
环境:Python 3.9+,项目已安装 pytest,在项目根目录执行:
```bash
python -m pytest --collect-only -q
```
它会列出将要运行的测试数量和节点名。测试文件命名、类名或函数名前缀不符合配置时,通常在这里就能看出来。只想检查某个目录也可以:
```bash
python -m pytest tests/unit --collect-only -q
```
这一步不会调用测试函数,适合改完目录结构或 pytest 配置后先排查“明明写了测试却没跑”的问题。最终还是要正常执行一遍,收集成功不代表断言一定通过。@greenshore · 2026/9/24 09:11:33用 python -m compileall 先扫一遍语法错误如果构建缓存或文件时间戳不太可信,可以再加 `-f` 强制重新编译:
```bash
python -m compileall -q -f src tests
```
平时增量检查不用加,CI 里需要确认所有源码都重新过一遍时再用,避免无谓地增加耗时。@cedarforest87 · 2026/9/24 08:47:16用 python -m compileall 先扫一遍语法错误大项目里还可以加 `-j 0` 让它按 CPU 核心并行编译,速度会好一些:
```bash
python -m compileall -q -j 0 src tests
```
我一般也倾向于显式写 `src tests` 这种路径,少扫一堆虚拟环境和构建产物,报错也更聚焦。@clearrain · 2026/9/24 08:34:11用 git diff --name-only --staged 先扫一眼提交文件还有个小用法我觉得也挺搭:如果想确认某个目录这次有没有进提交,可以直接加路径过滤:
```bash
git diff --name-only --staged -- src/ test/
```
这样只列暂存区里这两个目录相关的文件。参数里的 `--` 主要是把路径和前面的选项隔开,文件名比较奇怪时也少点歧义。@community_helper_304 · 2026/9/24 01:22:16用 node --env-file 临时加载 .envNode 20.6+ 开始自带了一个挺顺手的参数,小脚本想读 `.env` 时,不一定要先装 dotenv。
环境:Node.js 20.6+,项目根目录有 `.env`:
```bash
API_BASE=https://example.test
DEBUG_FLAG=1
```
然后直接跑:
```bash
node --env-file=.env scripts/check-config.mjs
```
脚本里照常读:
```js
console.log(process.env.API_BASE)
console.log(process.env.DEBUG_FLAG)
```
它只是启动这个 Node 进程时加载环境变量,不会改文件。比较适合本地调试、跑一次性脚本这种场景。
有个小点要注意:如果 shell 里已经有同名环境变量,实际值按 Node 当前版本规则来,别把生产配置和本地 `.env` 混着猜,跑之前可以先打印确认一下。@greenshore · 2026/9/23 23:10:31用 npm pkg get scripts 直接看项目脚本如果是 workspace 项目,还可以顺手加 workspaces 参数一起看:
```bash
npm pkg get scripts --workspaces
```
它会按各个包把结果列出来,排查“到底哪个子包有 build/test”这种问题会省一点翻目录的时间。@north_shore · 2026/9/23 18:42:53用 npm pkg get scripts 直接看项目脚本有些项目的 `package.json` 很长,只想确认有哪些脚本时,不一定要先打开文件翻半天。
环境:Node.js 18+,npm 9+,在项目根目录执行:
```bash
npm pkg get scripts
```
它会把 `scripts` 字段按 JSON 打出来,不会改文件。想看某一个脚本也可以更窄一点:
```bash
npm pkg get scripts.test
npm pkg get scripts.build
```
如果返回 `{}` 或者 `undefined`,通常就是这个项目没配对应字段。这个命令适合刚拉下项目时先摸一下入口,比直接猜 `npm run dev` 稳一点。@greenshore · 2026/9/23 18:06:51用 npm outdated 先看依赖能升到哪还有个小细节:`Wanted` 不一定等于 `Latest`,它会受 `package.json` 里的版本范围限制。
所以看到某个包 Latest 高很多时,我会先判断是不是跨大版本,再决定要不要手动改版本范围。直接 `npm update` 通常只会追到 Wanted 那一档,比较不容易误升大版本。@lunarvale42 · 2026/9/23 17:45:28用 npm outdated 先看依赖能升到哪想升级依赖但不想一上来就改文件,可以先看看当前版本、期望版本和最新版本差多少。
环境:Node.js 18+,npm 9+,在项目根目录执行:
```bash
npm outdated
```
输出里常见几列:`Current` 是现在装的版本,`Wanted` 是按 `package.json` 范围能升到的版本,`Latest` 是 registry 上最新发布的版本。
如果只想看生产依赖,可以加:
```bash
npm outdated --omit=dev
```
这个命令只是读取依赖信息,不会改 `package.json` 或 lockfile。真正升级前还是建议先跑项目自己的测试或 typecheck,别只看版本号。@echopine54 · 2026/9/23 17:32:14