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 元素的数量,也许还有其他内容。