嗨,我是单元测试的新手,我正在编写这种本地化单元测试方法,但我不确定它的预期值是多少。
以下是要测试的功能:
public static string GetStringResource(string language, string name)
{
Localization cfg = GetInstance();
try
{
if (cfg != null && cfg._config != null)
return cfg._config.GetValue(language, name).ToString();
return string.Empty;
}
catch { return string.Format("Localization Error: '{0}:{1}' Not Found.", language, name); }
}
以下是GetValue函数:
public override object GetValue(string section, string entry)
{
VerifyAndAdjustSection(ref section);
VerifyAndAdjustEntry(ref entry);
try
{
//XmlDocument doc = GetXmlDocument();
XmlElement root = doc.DocumentElement;
XmlNode entryNode = root.SelectSingleNode(GetSectionsPath(section) + "/" + GetEntryPath(entry));
return entryNode.InnerText;
}
catch { return null; }
}
这是我未完成的测试方法:
public void GetStringResourceTest()
{
string language = "English"; // TODO: Initialize to an appropriate value
string name = "John Smith"; // TODO: Initialize to an appropriate value
string expected = language; // TODO:" Initialize to an appropriate value
string actual;
actual = Localization.GetStringResource(language, name);
Assert.AreEqual(expected, actual);
}
答案 0 :(得分:1)
当您进行单元测试时,您正在尝试验证,对于给定的输入集,您具有正确的输出。
在这种情况下,您有两个输入:language
和name
。
据推测,鉴于两者的某种组合,有一个预期的输出。作为开发人员,您应该拥有必要的工具集来确定并验证它是否正确。然后,一旦您编写了测试,您将永远不必再次手动验证该行为!
例如,如果您是对计算器进行单元测试,则可以通过断言给定Add
来测试1+1
方法,输出为2
。