首页 文章

如何使用xUnit对具有私有方法和字段的类进行单元测试?

提问于
浏览
-1

我正在尝试使用私有访问修饰符对测试类方法进行单元化,并且无法修改这些方法的可访问性 .

public class Form1 : Form
{
    private void MyMethod(object sender, EventArgs e)
    {
        //business code
    }
    private void InitializeComponent()
    {this.Load += new System.EventHandler(this.MyMethod);
    }
}

1 回答

  • -2

    您可以制作临时内部测试方法:

    internal void MyMethodForTest(object sender, EventArgs e) //test method
    {
        //business code
    }
    
    private void MyMethod(object sender, EventArgs e) //real method
    {
        //business code
    }
    

    然后,添加此行,以便测试可以访问您的内部方法:

    [assembly:InternalsVisibleTo("UnitTest")]
    

    完成测试后,您可以删除内部测试方法 .

相关问题