2

私はVS2010データベースユニットテストフレームワークを使用しています。私はすでにDataSetTestConditionから継承した条件を作成しましたが、うまくいきました。私は今ResultSetConditionから継承条件を記述しようとしているが、私はエラーを取得しておいてください。VS2010データベースユニットテスト結果セットコンディションから継承

「DBUnitTestConditions.ConditionMulti」継承された抽象メンバー「Microsoft.Data.Schema.UnitTesting.Conditions.ResultSetCondition.DoAssertを実装していません。 (たSystem.Data.DataTable「)

これは基本的に私が使用しているコードです:

using Microsoft.Data.Schema.UnitTesting.Conditions; 
using System.Data; 

namespace DBUnitTestConditions 
{ 
    public class ConditionMulti : ResultSetCondition 
    { 
     public ConditionMulti() 
     { 

     } 

     public void DoAssert(DataTable dt) 
     { 

     } 
    } 
} 

を私はResultSetConditionで外観を持つように、オブジェクトブラウザを使用しようとするとDosAssertへの参照のうえ何もありませんそこ。しかし、ソリューションナビゲータを使用するとDoAssertが表示されますが、プライベートであるようです。どんな助けもありがとう。

おかげ

答えて

1

EDIT:コンプリートリライト

私は、ソースコードをチェックしました:

namespace Microsoft.Data.Schema.UnitTesting.Conditions 
{ 
    public abstract class ResultSetCondition : TestCondition 
    { 
      //...  
      internal abstract void DoAssert(DataTable resultSet); 
    } 
} 

のでDoAssertinternalとしてマークされました。したがって、ResultSetConditionから継承することはできません。 internal abstractは、そのクラスを定義したアセンブリでのみ継承できることを意味します。
これを回避する方法はありません。

+0

これも試してみましたが、追加のエラーが出ます:** 'DBUnitTestConditions.ConditionMulti.DoAssert(System.Data.DataTable)':適切なメソッドが無効になりました** – georges

+0

。 – nemesv

+0

クラス自体が公開されているため、MSがこれを行うのはちょっと変わったようです。私はTestConsitionに基づいて何かを書くことを見ていきます。ありがとう! – georges