我使用的一個簡單證明了概念假貨NUnit測試:Microsoft.Fakes不會在正常的單元測試運行上下文
[Test]
public void TestFakes()
{
using (var ctx = ShimsContext.Create())
{
System.Fakes.ShimDateTime.NowGet =() => { return new DateTime(2000, 1, 1); };
Assert.That(DateTime.Now.Year, Is.EqualTo(2000));
}
}
該測試在Visual Studio測試瀏覽器上運行,但沒有按」噸運行中:
- NUnit的GUI
- NUnit的控制檯
- JetBrains的測試運行(dotCover OR ReSharper的)
- TESTD riven.net測試運行
在每個這些,我收到以下錯誤:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException : Failed to resolve profiler path from COR_PROFILER_PATH and COR_PROFILER environment variables
當我反映成組件,它好像它尋找的IntelliTrace,一VS旗艦版獨有的功能, - 我只安裝了Premium。
如何解決這個任何建議(我們使用NUnit的亞軍我們構建服務器上,所以這是一個攔截器使用正版正貨)
你是否嘗試設置好像缺少的環境變量? –
@DanielHilgarth不,因爲我不知道我可以設置它(將它設置爲任意字符串並不會幫助,FWIW) – pattermeister
安裝Visual Studio 2012更新2.然後,您可以使用MS Fakes而不必擁有Ultimate版本,高級版就足夠了。 http://support.microsoft.com/kb/2797912 http://blogs.msdn.com/b/visualstudioalm/archive/2013/02/08/february-ctp-for-visual-studio-update-2.aspx #fakes –