【发布时间】:2018-08-29 15:49:41
【问题描述】:
我有一个测试,它使用一些 Base64 编码的字符串作为方法的参数。测试运行并通过(如果我将方法修改为失败状态,则测试失败)。关键是测试框架按预期执行。
当我尝试通过 Visual Studio(或 VSCode)调试测试时,调试器启动,加载符号,然后退出,我的测试用例显示通过状态。没有命中断点。
我只通过试错来识别这个大字符串,一次删除一个测试用例,直到我能够成功命中断点。
此方法重现了该问题。即使它没有被使用,注释掉 b64 并且你应该能够通过调试器命中断点,取消注释它并且断点失败。
xunit 2.3.1 和 2.4.0 会发生这种情况;不确定它是否甚至是一个 xuint 事情,但我试图弄清楚我可以做些什么来调试这个方法。
运行 dotnet new xunit 并将此测试放入:https://gist.github.com/fuzzzerd/8347a8609fd1ccabdfaeea564d42a976(对于问题正文而言,片段太大)
【问题讨论】:
-
如何将字符串存储在文本文件中并从那里获取,而不是硬编码字符串?
-
@RandRandom 如果我无法找出根本原因,我可能会使用这种解决方法,我只是想知道为什么它会导致调试器/断点感到悲痛?