【发布时间】:2023-03-26 02:10:02
【问题描述】:
我正在尝试为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 !"
【问题讨论】:
-
单元测试告诉您生产代码中存在问题。找出为什么它没有将 {{Customer/Name}} 替换为 John。
-
什么是
Probe?Customer/Name应该返回什么?除此之外,您还有probe和Probe。哪一个是正确的? -
probe 用于执行脚本,并且没有 2 个探针,其中一个在脚本中,一个是 C# 中的对象。并且 Customer/Name 显然应该在
下返回 ,即 John ,我不太明白你的问题。
标签: c# xml unit-testing xml-parsing nunit