ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

如何在 Visual Studio 中运行 Lean 单元测试并定位失败测试日志

2026/9/14 5:08:02 拓冰建站 浏览量
如何在 Visual Studio 中运行 Lean 单元测试并定位失败测试日志 如何在 Visual Studio 中运行 Lean 单元测试并定位失败测试日志【免费下载链接】LeanLean Algorithmic Trading Engine by QuantConnect (Python, C#)项目地址: https://gitcode.com/GitHub_Trending/le/Lean在本地修改或阅读 QuantConnect Lean 引擎的代码后你通常需要运行 Tests 项目里的单元测试来验证改动并在测试失败时查看具体是哪里不满足断言。LEAN 的测试集合集中在仓库根目录的Tests目录QuantConnect.Tests.csproj 中声明了 NUnit 4.2.2 与 NUnit3TestAdapter 4.6.0官方文档 Tests/readme.md 给出的运行方式就是 Visual Studio 的 Test Explorer构建时自动发现测试、按需选择运行、通过 Open Additional Output 查看失败测试的堆栈跟踪。本文按“准备环境 → 发现测试 → 运行测试 → 定位失败日志 → 处理常见问题”的顺序说明这条路径。运行测试前的准备条件官方测试文档明确要求开始任何测试之前先按主 readme.md 中的安装说明让 LEAN 能在本机跑通 C# 算法涉及 Python 相关测试时还要按 Algorithm.Python 的说明完成 Python 环境配置。文档同时给出了一个前提判断标准——如果安装、构建和初始运行成功就可以进入测试阶段。针对 Windows Visual Studio 这一主路径readme.md 的 Windows 小节和 .vs/readme.md 给出的准备步骤是安装 Visual Studio获取 Lean 代码clone 仓库或下载源码然后用 Visual Studio 打开解决方案文件QuantConnect.Lean.sln点击 Build 菜单 - Build Solution 构建解决方案这一步会触发 NuGet 包还原首次构建必须完成否则测试无法被发现按 readme.md 说明按 F5 可启动引擎确认初始运行正常后再开始测试。两点环境说明运行时版本.vs/readme.md 建议安装 .NET 9而 readme.md 的 Linux/macOS 小节写的是 dotnet 10且 Tests/QuantConnect.Tests.csproj 中TargetFramework为net10.0。两处文档对 .NET 版本要求不一致建议以测试项目的net10.0目标框架为准安装 dotnet 10Python 环境是可选分支只有你要跑 Python 算法相关测试才需要配置。.vs/readme.md 将其标注为 Optional版本为 Python 3.11.11安装细节指向 Algorithm.Python/readme.md 中对应平台的小节。在 Visual Studio 中发现测试按 Tests/readme.md 的 Locating Tests 部分操作打开 Visual Studio加载已构建的QuantConnect.Lean.sln打开 Test Explorer菜单 Test Test Explorer测试列表应随构建过程读取到的测试自动填充如果列表没有填充就按下 Run All Tests让 VS 自行发现全部测试在列表中选中你要运行的测试然后运行它们。判断条件Test Explorer 中出现测试项说明构建与测试发现成功。列表一直为空时先确认 Build Solution 已完成NuGet 还原成功再按文档尝试 Run All Tests 触发发现。运行测试并定位失败测试日志测试失败后文档给出的唯一标准查看方式是点击失败的那条测试选择 Open Additional Output这里会显示堆栈跟踪stack trace指出代码在哪一行没有满足测试要求。也就是说定位失败问题的依据是 Additional Output 里的堆栈跟踪而不是构建输出窗口。堆栈跟踪指向的源文件位置就是你需要修改或继续排查的起点。常见问题的处理Tests/readme.md 的 Common Problems 一节只列出两条均直接对应测试发现或运行阶段现象文档给出的处理测试遇到 .NET Framework 相关问题为 VS 安装 NUnit3TestAdapter 扩展测试项目已引用 NUnit3TestAdapter 包扩展负责在 VS 中发现 NUnit 测试Python Algorithm 缺少依赖用 pip 或 conda 安装对应模块第二条对应的是可选的 Python 测试分支如果你只运行纯 C# 测试无需关注 Python 依赖。与提交流程的衔接如果你运行测试的目的是为 Lean 提交代码CONTRIBUTING.md 要求所有 pull request 必须附带单元测试新功能要覆盖预期用法和边界情况bug 修复要有能暴露该 bug 的测试。因此“在 VS 中跑通 Tests 项目并确认无失败”是提交前的必要验证步骤失败项的 Additional Output 堆栈跟踪就是定位修改点的手段。完成以上流程后验证结果以 Test Explorer 中的通过/失败状态为准遇到失败时以 Open Additional Output 的堆栈跟踪为依据定位代码位置而不是凭猜测判断。【免费下载链接】LeanLean Algorithmic Trading Engine by QuantConnect (Python, C#)项目地址: https://gitcode.com/GitHub_Trending/le/Lean创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考