-1

嗨,我是单元测试的新手,我正在编写这个本地化单元测试方法,但我不确定它的预期值是多少。

这是要测试的功能:

 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);

    }
4

1 回答 1

1

当您进行单元测试时,您正在尝试验证对于给定的一组输入,您是否具有正确的输出。

在这种情况下,您有两个输入:languagename

据推测,给定两者的某种组合,就会有预期的输出。作为开发人员,您应该拥有必要的工具集来确定并验证它是否正确。然后,一旦您编写了测试,您就不必再次手动验证该行为!

例如,如果您正在对计算器进行单元测试,您可能会Add通过断言给定1+1的输出是来测试该方法2

于 2013-08-25T16:54:19.743 回答