区分SpecFlow和单元测试程序集

问题描述 投票:0回答:1

我编写了一些代码来分析测试DLL,并使用反射提取测试名称和标签。 我最初编写它来分析SpecFlow DLL,但它似乎适用于单元测试DLL,并进行了一些调整。 两者都在使用MSTest(VSTest.Console.exe) 我想知道是否有人知道如何区分一种类型的装配与另一种装配,因此我可以使用相同的代码来分析任何一种装配,而不必指定它是什么类型。 此外,如果有人知道这样做的现有工具(从DLL中提取测试列表),那将是很好的。我有点觉得我必须在这里重新发明轮子......

示例文件 Specflow DLL Unit Test DLL (您可能需要右键单击这些并取消阻止才能加载它们)

TLDR:如何通过代码检测这些DLL中的哪一个是Specflow,哪个是单元测试?

reflection specflow vs-unit-testing-framework
1个回答
1
投票

呃,实际上很简单

        public static bool IsSpecflowDll(Assembly assembly)
        {
            var references = assembly.GetReferencedAssemblies();
            foreach (var reference in references)
            {
                if (reference.Name == "TechTalk.SpecFlow")
                {
                    return true;
                }
            }
            return false;
        }
© www.soinside.com 2019 - 2024. All rights reserved.