我正在尝试为xml.Format
函数创建一个单元测试,但是我似乎无法获得customerName
值,我不知道我在这里做错了什么。请赐教。
[Test]
public async System.Threading.Tasks.Task Format()
{
var script = "var xml = $Xml.Parse('<Customer><Name>John</Name></Customer>'); $Probe.SetValue('a', xml.Format('<p>Hello {{Customer/Name}}!</p>') + '');";
var probe = await this.SaveProcessAsync("", script, "");
// ensure our proxy is called
Assert.AreEqual("<p>Hello John!</p>", probe.GetValue("a"));
}
这是NUnit输出,
预期:Hello John!
但是是:"Hello !"
事实证明,如果您这样做
xml.Format('<p>Hello {{Customer/Name}}!</p>')
它进入客户根目录,然后尝试在客户下查找名称。由于没有名称,它返回null。
因为它已经检查了它找到的第一个根,所以我只删除了Customer /,它就可以正常工作。
xml.Format('<p>Hello {{Name}}!</p>')
结果是: 你好,约翰!