我是依赖于 iTextSharp 开源 Pdf 库的单元测试代码。TextSharp 中的类之一是 PdfReader,它具有接受字节数组的构造函数之一。我将问题简化为以下内容:
[TestMethod]
[HostType("Moles")]
public void ReadPdf()
{
MPdfReader.ConstructorByteArray = (@this, pdfIn) =>
{
new MPdfReader(@this)
{
};
};
PdfReader reader = new PdfReader(new byte[] { 10, 20, 30 });
}
但是,此代码仍然调用真正的 PdfReader 而不是模拟:
iTextSharp.text.pdf.PdfReader.CheckPdfHeader iTextSharp.text.pdf.PdfReader.ReadPdf() iTextSharp.text.pdf.PdfReader..ctor(Byte[] pdfIn, Byte[] ownerPassword) iTextSharp.text.pdf.PdfReader.. ctor(字节[] pdfIn)
毫不奇怪,它因“..System.IO.IOException: PDF header signature not found..”而爆炸
不知道我做错了什么......
-斯坦