我是PEX,Visual Studio和.NET世界的新手,neverthless我爲C#生成了一些測試。我已經讀過,PEX也可以分析用任何.NET語言編寫的.NET程序,所以目前我是 試圖讓PEX與C一起工作(我已經將代碼存儲在一個C++ 項目中。這是對的嗎?接近?)。由於C++沒有Visual Studio PEX加載項,我嘗試使用命令行界面。 在教程「使用Microsoft Pex進行參數化單元測試」中, 說,我應該有一個「.NET程序集」以.dll或.exe 結尾,其中包含一個用PexClassAttribute註解的類和用PexMethodAttribute註釋的public方法。由於本教程只提供了一個C#示例,因此我嘗試在沒有 任何註釋的情況下在.exe上運行PEX。所以我在Visual Studio中編譯我的代碼,得到我的 程序集light.exe並試圖在其上運行PEX。我得到了以下 錯誤:是否可以使用PE與C?
Microsoft Pex v0.94.51006.1 -- http://research.microsoft.com/pex --
v4.0.30319
Copyright (c) Microsoft Corporation 2007-2010. All rights reserved.
unexpected error: error while loading of 'light' (currently running
with 4 bytes/pointer).
LAUNCHER FAILED
unexpected failure: error while loading assembly (-1006 - 0xfffffc12)
所以我以下的問題:
- 是否有可能使用PEX使用C?或者讓我把我的代碼轉換爲 C#?
- 它看起來像我的light.exe不是「.NET程序集」。我如何 從C代碼生成「.NET程序集」?
- 我是否收到錯誤消息,因爲我的程序集格式不正確或 ,因爲我沒有註釋代碼? (第二個似乎不太可能,因爲我的錯誤信息是 ,我希望看到類似於「在應用所有過濾器後找不到探索 ;您是否忘記了[PexClass]或 [PexMethod]屬性?」)。
- 如果錯誤不是由於缺少批註或錯誤格式爲 的程序集,那麼底層原因是什麼?
- 如何用C++中的PexClassAttribute對類進行註釋? 我需要哪些庫以及生產 組件的過程如何工作?
您的標題引用C,但問題標記爲C++。你關心哪一種語言? (你真的在問C++。) –
是的,其實我也應該標記C,因爲我對這兩種語言都很感興趣。 – user1646446