【问题标题】:Only unit test methods not get displayed on list box, while calling unit test methods只有单元测试方法不会显示在列表框中,同时调用单元测试方法
【发布时间】:2015-09-05 16:36:45
【问题描述】:

我正在从另一个项目调用单元测试方法到一个窗口表单列表。 但我得到了 'ToString'、'Equals' 等以及测试方法。

这是我的代码:

public Form1()
{
    InitializeComponent();
    FillListView();
}

public void FillListView()
{
    MethodInfo[] methodInfoFT = typeof(UnitTestProject1.UnitTest1)
        .GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod);

    foreach (MethodInfo methodInfo in methodInfoFT)
    {
        listBox1.Items.Add(methodInfo.Name);
    }
}

这是我得到的:

【问题讨论】:

标签: c#


【解决方案1】:

您需要使用DeclaredOnly 绑定标志来确保您只检索类本身中定义的方法。

 MethodInfo[] methodInfoFT = typeof(UnitTestProject1.UnitTest1)
    .GetMethods(BindingFlags.Public | BindingFlags.Instance | 
                BindingFlags.InvokeMethod | BindingFlags.DeclaredOnly);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2014-08-10
    相关资源
    最近更新 更多