WPF单元测试 - OnstartUp方法

时间:2017-12-05 04:21:05

标签: c# wpf unit-testing

我需要为OnStartUp方法编写单元测试方法。

由于它是protected方法,我该如何访问和测试它?

protected override void OnStartUp(StartupEventArgs s)
{

}

1 个答案:

答案 0 :(得分:0)

首先,任何告诉您you should only test public methods正在使用单元测试错误的人。 您需要自己考虑单元测试为您的代码库提供什么。我坚信,单元测试会创建一个行为测试工具,确保输入文本编辑器的任何人保持完全相同,除非是经过业务批准的更改。这基本上意味着你需要测试所有的东西。

其次,对于非protected类中的sealed方法,您可以使用另一个仅测试类继承该类,并在其上公开一个公共调用程序。

像这样:

public class TestWrapper : BaseClass
public void OnStartupInvoker(StartupEventArgs s)
{
   OnStartUp(s);
}

And then in test

var target = new TestWrapper();
target.OnStartupInvoker(null); 
// it has been called!