PexObserve 只记录 255 个字符
PexObserve only records 255 characters
我在命令行中使用 Pex 来查找用于生成测试用例的输入值。
我使用 PexObserve 在执行过程中记录某些值。
我要记录的值之一是 XML-String.
但是,在解析 XML 时我收到 "malformed XML" 异常,因为 Pex 只将前 255 个字符写入日志。
有没有办法记录完整的 XML 字符串?还是 PexObserve 有不同的类型可以让我录制更长的文本?
把它留在这里,以防万一有人遇到同样的问题。
我找到了一个对我有帮助的解决方案。
不幸的是,static readonly
字段内部设置了 255 个字符的限制。
因此我需要使用反射。
我的解决方案通过在 PUT 中包含以下行来工作:
typeof(Microsoft.Pex.Framework.PexObserve.ValueWriterManager).GetField("MaxWrittenElements").SetValue(null, 1000);
将 1000
替换为您喜欢的任何值。
但是:请记住,这是一个快速修复的解决方案,可能不适合您。
它可能会产生不需要的副作用。您还更改了写入的 List 元素的数量,也许还有其他内容。
我在命令行中使用 Pex 来查找用于生成测试用例的输入值。 我使用 PexObserve 在执行过程中记录某些值。 我要记录的值之一是 XML-String.
但是,在解析 XML 时我收到 "malformed XML" 异常,因为 Pex 只将前 255 个字符写入日志。
有没有办法记录完整的 XML 字符串?还是 PexObserve 有不同的类型可以让我录制更长的文本?
把它留在这里,以防万一有人遇到同样的问题。 我找到了一个对我有帮助的解决方案。
不幸的是,static readonly
字段内部设置了 255 个字符的限制。
因此我需要使用反射。
我的解决方案通过在 PUT 中包含以下行来工作:
typeof(Microsoft.Pex.Framework.PexObserve.ValueWriterManager).GetField("MaxWrittenElements").SetValue(null, 1000);
将 1000
替换为您喜欢的任何值。
但是:请记住,这是一个快速修复的解决方案,可能不适合您。 它可能会产生不需要的副作用。您还更改了写入的 List 元素的数量,也许还有其他内容。