我有一个类,它有一个更新方法。在update方法中,我检查它的属性是否真的发生了更改。
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public void UpdatePerson(Person person)
{
if (FirstName == person.FirstName && LastName == person.LastName) return;
ApplyChanges(person);
}
public void ApplyChanges(Person person)
{
//....
}
}
我需要确保当Person
属性相同时不会调用ApplyChanges
方法。
这更像是一种复制粘贴,但我相信微软的建议适用于您的问题:
在大多数情况下,不应该需要测试私有方法。私有方法是一个实现细节。你可以这样想方式:私有方法永远不会孤立存在。在某种程度上将成为一个面向公共的方法,将私有方法调用为作为其实施的一部分。你应该关心的是结局调用私有方法的公共方法的结果。
我建议详细阅读我提供的链接。
话虽如此,如果你真的认为这个私有方法需要测试,那么这意味着它可能应该被转移到一个单独的类。然而,从你的例子来看,情况似乎并非如此。