Microsoft Shims无法调试正在测试的方法

时间:2013-06-05 18:01:37

标签: c# unit-testing microsoft-fakes

我有一个测试方法,当我运行它时很好,但在调试时失败并出现异常。 以下是VS Test Runner的测试方法和输出。例外来自ShimsContext.Create()

信息:VS 2012 Permium Update2 enter image description here

[TestMethod]
    public void TestResolveDateWithShim()
    {
        using (ShimsContext.Create())
        {
            // arrange
            DateTime someTestTime = new DateTime(2013, 1, 14);

            Fakes.ShimDateHelper.PreviousOrCurrentQuarterEndDateTime =
                time => someTestTime;

            var appCache = new Fakes.StubIAppCache();
            var series = new StubISeries();
            series.KeyGet = () => SeriesKey.MyKey;

            // act
            Report report = new Report(SeriesKey.MyKey, appCache);
            DateTime resolvedDate = report.ResolveDate(series, DateTime.Now);

            // assert
            Assert.AreEqual(someTestTime, someTestTime);
        }

1 个答案:

答案 0 :(得分:6)

我解决了。正是重新破坏者造成了问题。在resharper选项卡下的选项。在工具 - >单元测试 - > MSTest我取消选中“使用旧版亚军”复选框。现在它工作了,我仍然可以使用resharper来帮我测试。我jsut禁用resharper中的所有测试选项它也可以,但我想从resharper中获得一些选项,因为它们非常有用。