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 に答える