2

我正在使用VS2010数据库单元测试框架。我已经创建了一个从DataSetTestCondition继承的条件,并且工作正常。我现在想写从ResultSetCondition继承的条件,但我不断收到错误:VS2010数据库单元测试从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那里。但是如果我使用解决方案导航器,我看到DoAssert,但它似乎是私有的。任何帮助,将不胜感激。

感谢

回答

1

编辑:完全重写

我检查的源代码:

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

所以DoAssert标记为internal。因此,您不能从ResultSetCondition继承,因为 internal abstract意味着该类只能在定义它的程序集中继承。
这是没有办法的。

+0

我也试过,并给出了额外的错误:**'DBUnitTestConditions.ConditionMulti.DoAssert(System.Data.DataTable)':找不到合适的方法覆盖** – georges 2012-01-29 22:14:23

+0

好吧,现在我明白了,检查我更新的答案。 – nemesv 2012-01-29 22:25:00

+0

鉴于课程本身是公开的,MS似乎有点奇怪。我会看看基于TestConsition的东西。谢谢! – georges 2012-01-29 22:35:39