私は単純な概念実証 Fakes nUnit テストを使用しています。
[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 または Resharper)
- TestDriven.net テスト ランナー
これらのそれぞれで、次のエラーが表示されます。
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException : COR_PROFILER_PATH および COR_PROFILER 環境変数からプロファイラー パスを解決できませんでした
そのアセンブリを振り返ると、VS Ultimate のみの機能である Intellitrace を探しているようです。Premium のみがインストールされています。
これを回避する方法についての提案 (ビルド サーバーで nUnit ランナーを使用しているため、これは Fakes の使用を妨げます)