【问题标题】:PexObserve only records 255 charactersPexObserve 仅记录 255 个字符
【发布时间】:2016-08-04 14:42:32
【问题描述】:
我在命令行中使用 Pex 来查找用于生成测试用例的输入值。
我使用 PexObserve 在执行期间记录某些值。
我要记录的值之一是 XML 字符串。
但是,在解析 XML 时,我收到“格式错误的 XML”异常,因为 Pex 只将前 255 个字符写入日志。
有没有办法记录完整的 XML 字符串?还是 PexObserve 有其他类型可以让我录制更长的文本?
【问题讨论】:
标签:
visual-studio-2012
pex
intellitest
【解决方案1】:
把这个留在这里,以防有人在任何时候遇到同样的问题。
我找到了一个对我有帮助的解决方案。
不幸的是,255 个字符的限制是在 static readonly 字段内部设置的。
因此我需要使用反射。
我的解决方案通过在 PUT 中包含以下行来工作:
typeof(Microsoft.Pex.Framework.PexObserve.ValueWriterManager).GetField("MaxWrittenElements").SetValue(null, 1000);
将1000 替换为您喜欢的任何值。
但是:请记住,这是一个快速修复的解决方案,可能不适合您。
它可能会产生不必要的副作用。您还更改了写入的 List 元素的数量,可能还有其他内容。