单元测试在TFS中失败但在本地失败(NullReferenceException)

时间:2016-09-13 15:31:51

标签: c# tfs moq tfs2015

我有以下单元测试(有些重命名,但在其他方面相同)在本地运行正常,并按预期传递。

[TestClass, ExcludeFromCodeCoverage]
public class SearchControllerTests
{
    private Mock<IRepository> _repository;
    private Mock<ICrypter> _crypter;
    private SearchController _controller;

    [TestInitialize]
    public void Initialize()
    {
        _repository = new Mock<IRepository>();
        _crypter = new Mock<ICrypter>();
        _controller = new SearchController(_repository.Object, _crypter.Object);
    }

    [TestMethod]
    public void SearchViewSimple()
    {
        var result = _controller.Search() as PartialViewResult;

        Assert.IsNotNull(result);
        Assert.AreEqual("Search", result.ViewBag.Title);
    }
}

它也通过了TFS 2015。但是,我们正在升级到TFS 2015 Update 2,并且在该环境中测试失败并且具有相同的构建过程。初始化方法在此行上抛出NullReferenceException。

_crypter = new Mock<ICrypter>();

ICrypter是使用CryptSharp的SCrypt的一个非常简单的包装器:

[assembly: Dependency(typeof(ICrypter), typeof(Crypter))]
namespace ProjectNameRemoved.Cryptography
{
    public interface ICrypter
    {
        string GetHash(string value);
    }

    public class Crypter : ICrypter
    {
        public string GetHash(string value)
        {
            // Removed
        }
    }
}

TFS 2015和2015 Update 2之间是否会出现这样的情况?或者可能是某种依赖问题,其中没有下载CryptSharp?外部连接在构建中很好,并且包似乎已经更新而没有问题或警告。

0 个答案:

没有答案