2010-09-30 29 views
0

這個問題在所有的項目中都沒有發生,因此它更令人沮喪。MS UnitTest - Private Accessor not always recognized

如果我點擊Private方法來創建單元測試,它會生成一個TestProject程序集並在那裏創建一個預定義的類。它也會爲該類創建一個Accessor。

[TestMethod()] 
     [DeploymentItem("xxx.Client.dll")] 
     public void PopulateIncomeCostsDataSetTest() 
     { 
      CashFlowOperations_Accessor target = new CashFlowOperations_Accessor(); // TODO: Initialize to an appropriate value 
      CashflowModel cashflowModel = null; // TODO: Initialize to an appropriate value 
      CashflowDataSet ds = null; // TODO: Initialize to an appropriate value 
      target.PopulateIncomeCostsDataSet(cashflowModel, ds); 
      Assert.Inconclusive("A method that does not return a value cannot be verified."); 
     } 

只要我創造的庫程序集私有方法(DLL),它的所有細微這個單元測試,但如果我創建了一個控制檯應用程序,其中[DeploymentItem("xxx.exe")]是一個可執行的,我的訪問者停留在紅色我不能訪問該訪問器的內部私有方法。

回答

0

這似乎是Visual Studio中的一個錯誤。這可能發生在VS 2088甚至VS 2010中。VS 2010的SP1爲我解決了這個問題。希望這有助於其他人。

0

我不知道這是否有幫助(我沒有能夠重現您的錯誤),但在Local.testsettings有一個選項來啓用部署。在列表框中

  • 開放Local.testsettings從解決方案項
  • 選擇「部署」項目
  • 勾選「啓動部署」

必須這樣,在應用中,你可以單元測試,而不是之前庫

+0

感謝您的回覆。我只是再次檢查它,它已被檢查。我不知道爲什麼這樣。 :( – Houman 2010-10-02 11:22:13