PrivateObject调用抛出MissingMethodException

 鹏大1111 发布于 2023-01-08 12:23

我在Visual Studio 2012中的单元测试中有以下代码.我正在尝试测试该GatherData方法在ExcelFile类中的私有方法.但是,当我运行测试时,我得到了一个MissingMethodException.如何在类中调用私有方法以便进行单元测试?

ExcelFile xFile = new ExcelFile("pathhere");
PrivateObject po = new PrivateObject(xFile);

var retVal = po.Invoke("GatherData");

这是一些ExcelFile类:

public class ExcelFile
{

    private FileInfo excelFileInfo;
    private ExcelWorksheet workSheet;

    private Dictionary data = new Dictionary();

    public ExcelFile(string path)
    {
        this.excelFileInfo = new FileInfo(path);

    }

    private Dictionary GatherData(ExcelWorksheet workSheet)
    {
        Dictionary data = new Dictionary();

        int endDataRow = workSheet.Dimension.Rows;

        for (int rowNumber = 2; rowNumber <= endDataRow; rowNumber++)
        {
            if (ValidateRow(rowNumber))
            {
                string columnOneValue = workSheet.Cells[rowNumber, 1].Value.ToString().Trim(),
                       columnTwoValue = workSheet.Cells[rowNumber, 2].Value.ToString().Trim();

                data.Add(columnOneValue, columnTwoValue);
            }
        }
        return data;
    }   
}

小智.. 6

GatherData方法需要一个ExcelWorksheet类型的参数才能工作.如果您创建ExcelWorksheet的对象,然后使用代码:

ExcelFile xFile = new ExcelFile("pathhere");
PrivateObject po = new PrivateObject(xFile);

var retVal = po.Invoke("GatherData", new object[] {excelWorksheetObject});

它应该适合你.

查看这篇文章了解更多详细信息:运行到System.MissingMethodException:找不到PrivateObject的方法

干杯!

1 个回答
  • GatherData方法需要一个ExcelWorksheet类型的参数才能工作.如果您创建ExcelWorksheet的对象,然后使用代码:

    ExcelFile xFile = new ExcelFile("pathhere");
    PrivateObject po = new PrivateObject(xFile);
    
    var retVal = po.Invoke("GatherData", new object[] {excelWorksheetObject});
    

    它应该适合你.

    查看这篇文章了解更多详细信息:运行到System.MissingMethodException:找不到PrivateObject的方法

    干杯!

    2023-01-08 12:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有