我正在尝试实现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)
'
未实施。
然后它显然已经实施。
此错误只能在一个项目中重现,在其他项目中它可以正常工作。也许你有类似的情况?
答案 0 :(得分:1)
这似乎是较新工具中的一个缺陷,可以通过在System.Reflection
的{{1}}部分中向System.Runtime
和frameworkAssemblies
添加构建时参考来解析所以它看起来像这样:
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
,我们明确地引用了这些依赖项。