gpt4 book ai didi

c# - 使用 C# 和反射对类的属性进行单元测试

转载 作者:太空宇宙 更新时间:2023-11-03 22:39:01 24 4
gpt4 key购买 nike

我在使用 C# 进行单元测试时遇到了一些困难。

假设我有

class Dummy{
TypeA Foo {get; set;}
TypeB Bar {get; set;}
}

及测试方法

[TestMethod]
public void TestStuff()
{
Type type = typeof(Dummy);
PropertyInfo[] properties = type.GetProperties();

foreach(PropertyInfo property in properties)
{
string result= MyStaticClass.ProcessProperty(property.Name);
Assert.IsFalse(string.IsNullOrWhiteSpace(result));
}
}

测试运行良好,但当它失败时,我不知道是哪个属性导致了问题。

在其他测试方法中,我使用了 [DataTestMethod][DataRow(stuff)] 来提供单一输入并了解导致测试失败的原因.

有没有办法使用反射来做这样的事情?

我是不是在考虑错误的单元测试?

我想用这种方法来检查一致性,它有错吗?

最佳答案

Assert有很多有趣的属性参数!

你可以这样做:

Assert.IsFalse(string.IsNullOrWhiteSpace(result), $"{property.Name} is null");

关于c# - 使用 C# 和反射对类的属性进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53390042/

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