测试因 ShimNotSupportedException 而失败

Test fails with ShimNotSupportedException

我有一个使用垫片的非常简单的测试,但是当我 运行 测试时,我得到 "ShimNotSupportedException"。我正在使用 VS2013 Ultimate 并且我没有调试。

[TestMethod]
public void GetDateTimeString_ReturnDTString_SetDateTime_CurrentYear()
{
    using (ShimsContext.Create())
    {                
        // Set 'UtcNow' to 1 March 2014
        ShimDateTime.UtcNowGet = () => new DateTime(2014, 3, 1, 5, 30, 28);

        var inputDate = new DateTime(2014, 06, 20, 18, 33, 50);

        // Act
        var actual = CustomTimeHelper.GetDateTimeString(inputDate);

        // Assert
        Assert.IsNotNull(actual);               
    }
}

我尝试了以下但没有成功

如果有人对可能发生的情况或如何解决问题有任何想法,我们将不胜感激。

问题来自引用 Microsoft.QualityTools.Testing.Fakes 的版本 11.0.0.0。

以下步骤解决了我的问题。

  1. 从项目中删除所有 *.fakes 引用
  2. 删除 Fakes 文件夹中的所有文件
  3. 重新添加Microsoft.QualityTools.Testing.Fakes版本12.0.0.0
  4. 重新生成您在步骤 1 中删除的虚假程序集