2013-04-03 16 views
8

メソッドに適用される属性がAssemblyInitializeの抽象基本テストクラスがあります。しかし、決して実行されません...抽象基本テストクラスは、汎用拡張のために別のアセンブリにあります。任意のアイデアをどのようにこれを解決するには?事前派生クラスのAssemblyInitialize

答えて

5

これは、アセンブリからテストを実行しないと、アセンブリが初期化されないためです。私が与えることができるソリューション(多分バカ1)他のアセンブリにAssemblyInitializeを使用して、テストは次のコードを追加含まれてTestProjectAssemblyInitialize

ベースを呼び出すことです:

[TestClass] 
public class UnitTest1 
{ 
    [AssemblyInitialize] 
    public static void AssemblyInitialize(TestContext testContext) 
    { 
     // call the base AssemblyInitialize 
     BaseTestProject.BaseTest.AssemblyInitialize(testContext); 
    } 

    public TestContext TestContext { get; set; } 
} 
+0

同じ解決策回避策として実装しました。ありがとう! – mrtentje

5

コード

[TestClass] 
public abstract BaseTestClass 
{  
    [AssemblyInitialize] 
    public static void AssemblyInit(TestContext context) 
    { 
     //DoDomething 
    } 
} 

おかげで、あなたのテストプロジェクトにおける継承せずに別のクラスを実装するようにしてください:

[TestClass] 
public static class YourClass 
{ 
    [AssemblyInitialize] 
    public static void AssemblyInit(TestContext context) 
    { 
     //DoSomething 
    } 
} 

それが呼び出されなければなりません。

3

私が持っていました私が[TestClass]属性でテスト基本クラスをマークしなかったときと同じ問題。