2010-11-25 12 views
0

Bに保護されたメソッドのみが含まれるように、publicクラスAとAbstractクラスBがあるとします。 Aは、ここでの問題は、それらの保護されたメソッドの可視性であるB.c#xunitで保護されたメソッドを使用して抽象クラスの継承をテストする方法

+0

インスタンスが「A」の場合は、 'is'演算子を使用できます。 –

+0

私はそれを試してみました – David

+1

@Mike Caron/@ user251709:クラスが別のもの(Mikeの解釈)を継承しているのか、保護されたメソッドに対してテストしようとしているのかをテストしようとしていますか –

答えて

1

は、あなたがのために必ず次のように行うことができるようになります:

NUnitのを使用している
public class ClassB { 
    protected MethodB() { 
    } 
} 

public class ClassA : ClassB { 
} 


[TestFixture()] 
public class TestA { 
    [Test()] 
    public void IsInstanceOfB() { 
     ClassA a = new ClassA(); 
     Assert.IsInstanceOf(typeof(ClassB), a); 
    } 
} 

を、私はxUnitのと同様のアプローチがあるかもしれませんね。

1

から継承する場合は今すぐ私の質問は、私を行う方法である(またはすべきI)の試験

B.

から継承してみましょう。単体テストで直接呼び出すことはできません。一方、Aから継承し、テスト目的でいくつかのパブリックメソッドを公開しているクラスCをクラステストに追加することもできます。これらのパブリックメソッドは、単にテストしようとしている保護されたメソッドを呼び出します。多型を使用して

関連する問題