gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 20:08:29 27 4
gpt4 key购买 nike

我有一个自定义属性,它只是用来标记一个成员(没有constructor,没有properties):

[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
public sealed class MyCustomAttribute : Attribute { }

我将如何对此进行单元测试?而且,澄清一下......我知道“什么”,但不知道“如何”

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

最佳答案

您不会创建模拟类来测试它。相反,您只需测试属性类本身,看看它是否具有正确的 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.

关于c# - 单元测试自定义属性类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6668863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com