2017-12-05 15 views
-1

OnStartUpメソッドのユニットテストメソッドを記述する必要があります。WPFユニットテスト - OnstartUpメソッド

方法はprotectedなので、どうすればアクセスしてテストできますか?

protected override void OnStartUp(StartupEventArgs s) 
{ 

} 
+3

あなただけのパブリックメソッドをテストする必要があります。 – FCin

+3

OnStartUp()で何をテストしますか?どのコードを最初に示していますか –

+0

現在の状態の質問は不完全で不明確で、何が尋ねられているのかを明確にするにはあまりにも多くの質問が必要になります。 [質問]を読んでから問題をよりよく理解し、再現するために使用できる[mcve]を入力してください。 – Nkosi

答えて

0

まず、you should only test public methodsが間違ったユニットテストを使用していることを教えてくれどんな人。 単体テストがあなたのコードベースに与えることをあなた自身のために考える必要があります。私は単体テストが行​​動テストのハーネスを作って、ビジネス上の承認された変更でない限り、誰かがテキストエディタに入力したものがまったく同じままであることを保証するという確信しています。これは、基本的に、すべてのものをテストする必要があることを意味します。

第2に、非sealedクラスのprotectedメソッドでは、クラスを別のテスト専用クラスで継承し、公開インボーカを公開することができます。

ので、同じように:

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! 
関連する問題