C# 如何测试Xml编写器并获得正确的输出?
我有一个WriteXml方法C# 如何测试Xml编写器并获得正确的输出?,c#,xml,C#,Xml,我有一个WriteXml方法 public void WriteXml(XmlWriter writer) { if (this.value == null) { writer.WriteValue(this.value?.ToString() ?? string.Empty); return; } var type =
public void WriteXml(XmlWriter writer)
{
if (this.value == null)
{
writer.WriteValue(this.value?.ToString() ?? string.Empty);
return;
}
var type = this.value.GetType();
var memInfo = type.GetMember(this.value.ToString());
if (memInfo.Length > 0)
{
var attrs = memInfo[0].GetCustomAttributes<XmlEnumAttribute>();
if (attrs != null && attrs.IsNotEmpty())
{
writer.WriteValue(attrs);
return;
}
}
writer.WriteValue(this.value.ToString());
}
请帮我解决这个问题。我还尝试将测试方法中的参数(string类型)更改为exposureSValue类型,但仍然相同
我还收到了“过去15天”的错误消息
如何消除该错误消息?实际问题在于
writer.WriteValue(attrs)代码>
它没有在attrs
中写入值
我是这样写的,测试用例中没有错误
public void WriteXml(XmlWriter writer)
{
if (this.value == null)
{
writer.WriteValue(this.value?.ToString() ?? string.Empty);
return;
}
var type = this.value.GetType();
var memberInfo = type.GetMember(this.value.ToString());
if (memberInfo.Length > 0)
{
var attribute = memberInfo[0].GetCustomAttributes<XmlEnumAttribute>();
if (attribute != null && attribute.IsNotEmpty())
{
var xmlEnumAttribute = attribute.FirstOrDefault();
if (xmlEnumAttribute != null)
{
writer.WriteValue(xmlEnumAttribute.Name);
return;
}
}
}
writer.WriteValue(this.value.ToString());
}
public void WriteXml(XmlWriter)
{
if(this.value==null)
{
writer.WriteValue(this.value?.ToString()?string.Empty);
返回;
}
var type=this.value.GetType();
var memberInfo=type.GetMember(this.value.ToString());
如果(memberInfo.Length>0)
{
var attribute=memberInfo[0]。GetCustomAttributes();
if(attribute!=null&&attribute.IsNotEmpty())
{
var xmlEnumAttribute=attribute.FirstOrDefault();
if(xmlEnumAttribute!=null)
{
WriteValue(xmlEnumAttribute.Name);
返回;
}
}
}
WriteValue(this.value.ToString());
}
谢谢
The following setups were not matched:
XmlWriter x=>x.WriteValue("N/A");
public void WriteXml(XmlWriter writer)
{
if (this.value == null)
{
writer.WriteValue(this.value?.ToString() ?? string.Empty);
return;
}
var type = this.value.GetType();
var memberInfo = type.GetMember(this.value.ToString());
if (memberInfo.Length > 0)
{
var attribute = memberInfo[0].GetCustomAttributes<XmlEnumAttribute>();
if (attribute != null && attribute.IsNotEmpty())
{
var xmlEnumAttribute = attribute.FirstOrDefault();
if (xmlEnumAttribute != null)
{
writer.WriteValue(xmlEnumAttribute.Name);
return;
}
}
}
writer.WriteValue(this.value.ToString());
}