4

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

信息:VS 2012 Permium Update2 在此处输入图像描述

[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);
        }
4

1 回答 1

6

我解决了。这是导致问题的原因。在选项下的 resharper 选项卡中。在 Tools->Unit Testing -> MSTest 下,我取消选中了“Use Legacy Runner”复选框。现在它可以工作了,我仍然可以使用 resharper 来帮助我测试。II jsut 禁用 resharper 中的所有测试选项它也可以工作,但我想要一些来自 resharper 的选项,因为它们非常有用。

于 2013-06-05T18:30:15.720 回答