You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在VSCode中使用Mix单元测试--only参数调试单个测试报错求助

调试Elixir单个测试时避免参数错误的解决方法

问题核心

你遇到的未知选项错误,本质是VSCode launch.json里的参数格式不对——不能把多个命令行参数合并成一个字符串,必须拆分为数组的独立元素。

正确配置步骤

1. 给目标测试打标签(可选,用tag筛选场景)

在你的exs测试文件里,给需要单独调试的测试加上指定标签:

@tag :external
test "需要调试的外部测试逻辑" do
  # 测试代码
end

2. 修正launch.json的参数配置

把原来合并的参数拆成独立项,每个命令行参数单独占一个数组元素:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "mix_task",
      "name": "mix test",
      "request": "launch",
      "task": "test",
      "args": ["--trace", "--only", ":external"],
      "projectDir": "${workspaceRoot}"
    }
  ]
}

3. 更直接的替代方案(无需打标签)

如果不想修改测试代码,也可以直接指定测试文件和行号来单独运行,VSCode大纲视图里能直接看到测试的行号,定位很方便:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "mix_task",
      "name": "mix test",
      "request": "launch",
      "task": "test",
      "args": ["test/your_test_file.exs:42", "--trace"],
      "projectDir": "${workspaceRoot}"
    }
  ]
}

把示例里的42替换成你要调试的测试对应的行号即可。

验证方法

配置完成后启动调试,mix test会只运行你指定的标签测试或指定行的测试,不会再报未知选项错误,同时其他测试依然能在大纲视图里正常显示定位。

内容的提问来源于stack exchange,提问作者Chen Yu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:48:14