成员未使用Xunit.Sdk.DataAttribute抽象类实现

时间:2015-10-08 07:38:23

标签: c# xunit

我正在尝试实现Xunit.Sdk.DataAttribute抽象类但由于某种原因它不起作用。

public sealed class CustomDataAttribute: Xunit.Sdk.DataAttribute
{
    public override IEnumerable<object[]> GetData(MethodInfo testMethod)
    {
        throw new NotImplementedException();
    }
}

它说: 摘要继承成员

'IEnumerable<object[]> Xunit.Sdk.DataAttribute.GetData(System.Reflection.MethodInfo)'

未实施。

然后它显然已经实施。

此错误只能在一个项目中重现,在其他项目中它可以正常工作。也许你有类似的情况?

1 个答案:

答案 0 :(得分:1)

这似乎是较新工具中的一个缺陷,可以通过在System.Reflection的{​​{1}}部分中向System.RuntimeframeworkAssemblies添加构建时参考来解析所以它看起来像这样:

project.json

正在xUnit Issue #618#716跟踪问题,Axel Heer写了good post about it,虽然是德语。总结一下阿克塞尔的帖子,如果我误译德语而道歉不是我的第一语言:

  

基于PCL库创建DotNet核心库的工作并不像引入DotNet Core之前那样顺畅。在某些情况下,依赖项依赖项中包含的类型不可用,这会导致编译器错误,例如:

     
      
  • MyDataAttribute不实现继承的抽象成员DataAttribute.GetData(MethodInfo)&#39;
  •   
  • MyDataAttribute.GetData(MethodInfo)&#39;:找不到合适的方法来覆盖
  •   
     

通过引用{ "version": "1.0.0-*", "dependencies": { "YourAssemblyUnderTest": "1.0.0-*", "xunit": "2.*" }, "frameworks": { "net45": { "frameworkAssemblies": { "mscorlib": "", "System": "", "System.Core": "", "System.Web": "", "System.Reflection": { "type": "build", "version": "" }, "System.Runtime": { "type": "build", "version": "" } } } } } System.Reflection,我们明确地引用了这些依赖项。