加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 单元测试自定义属性类

发布时间:2020-12-15 08:34:28 所属栏目:百科 来源:网络整理
导读:我有一个自定义属性,仅用于标记成员(没有构造函数,没有属性): [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field,AllowMultiple = false,Inherited = true)]public sealed class MyCustomAttribute : Attribute { } 我该如何对此进行单
我有一个自定义属性,仅用于标记成员(没有构造函数,没有属性):
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field,AllowMultiple = false,Inherited = true)]
public sealed class MyCustomAttribute : Attribute { }

我该如何对此进行单元测试?而且,澄清……我知道’什么’,但不知道’怎么样’

我假设有一种方法可以对它进行单元测试以确保适当的AttributeUsage到位吗?那怎么能这样呢?每次我创建一个mock类并尝试将属性添加到错误的东西时它都不会让我编译,所以如何创建一个糟糕的模拟类来测试呢?

解决方法

你不会创建一个模拟类来测试它.相反,您只需测试属性类本身以查看它是否具有正确的AttributeUsageAttribute属性属性.哇,多么满口
[TestMethod]
public void Is_Attribute_Multiple_False
{
    var attributes = (IList<AttributeUsageAttribute>)typeof(MyCustomAttribute).GetCustomAttributes(typeof(AttributeUsageAttribute),false);
    Assert.AreEqual(1,attributes.Count);

    var attribute = attributes[0];
    Assert.IsFalse(attribute.AllowMultiple);
}

//Etc.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读