gpt4 book ai didi

unit-testing - 查询组装

转载 作者:行者123 更新时间:2023-12-04 05:09:24 25 4
gpt4 key购买 nike

我有一个 .NET 程序集,其中有数十个类和方法,它们是单元测试方法。我想生成一个报告,其中包含所有标记为“忽略”属性的方法,你知道一个简单的方法吗?

最佳答案

您想要获取 Custom Attributes方法

Assembly ass = Assembly.Load("yourassembly.dll");
object[] attributes = ass.GetCustomAttributes(typeof(IgnoreAttribute), false));

该方法也存在于方法对象上,因此您可以迭代程序集中的所有类型并迭代它们的所有方法,并调用相同的方法。

foreach(Type type in ass.GetTypes()) {
foreach(MethodInfo method in type.GetMethods()) {
method.GetCustomAttributes(typeof(IgnoreAttribute), true));
}
}

编辑,这里有一些有关 powershell 语法的帮助,尽管我必须说,我不熟悉 powershell。我确信有人可以用这种方法做得比我下面的废话更好。

$types = [System.Reflection.Assembly]::LoadFile("C:\dll.dll").GetTypes()
$attribute = [System.Type]::GetType("IgnoreAttribute")
foreach ($type in $types) {
$methods = $type.GetMethods()
foreach ($method in $methods) {
if ($method .GetCustomAttributes($attribute).Length -gt 0) {
$method.Name
}
}

关于unit-testing - 查询组装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/898487/

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