2011-04-29 34 views
0

我是依賴於iTextSharp開源Pdf庫的單元測試代碼。 TextText中的一個類是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(字節[] pdfIn,字節[] ownerPassword) iTextSharp.text.pdf.PdfReader..ctor(字節[] pdfIn)

和不驚奇地,它爆炸與「.. System.IO.IOException:未找到PDF標頭簽名..」

我做不知道自己做錯了什麼....

-Stan

回答

0

我假設你正試圖化解構造函數調用,它接受一個字節數組。嘗試刪除構造函數過載中的實例參數:

[TestMethod] 
[HostType("Moles")] 
public void ReadPdf() 
{ 
    MPdfReader.ConstructorByteArray = (@this, pdfIn) => 
    { 
     new MPdfReader() 
     { 
     }; 
    }; 
    PdfReader reader = new PdfReader(new byte[] { 10, 20, 30 }); 
} 
相關問題