2

VS2010 データベース ユニット テスト フレームワークを使用しています。DataSetTestCondition から継承する条件を既に作成しており、正常に機能しました。ResultSetCondition から継承する条件を記述しようとしていますが、エラーが発生し続けます。

'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 を参照するものは何もありません。しかし、Solution Navigator を使用すると、DoAssert が表示されますが、非公開のようです。どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

1

編集:完全な書き直し

ソースコードを確認しました:

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

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

于 2012-01-29T22:12:38.687 に答える