从VS2013升级后,VS 2015单元测试失败

时间:2017-08-12 18:05:35

标签: c# unit-testing visual-studio-2015

将VS2013解决方案升级到VS2015后,几个单元测试失败。他们传递VS2013。这是由于微软推出的一些新流程吗?我还没有看到任何符合此效果的内容。我粘贴了以下代码。

    public void GetIntegerFromCodeTableColumnNotFoundTest()
    {
        DataSet mockedDS = new DataSet();
        DataTable mockedDT = new DataTable("TestTable");
        mockedDT.Columns.Add("FieldName");
        mockedDT.Columns.Add("Length");

        mockedDS.Tables.Add(mockedDT);

        DataRow mockedDR = mockedDT.NewRow();
        mockedDR["FieldName"] = "FirstName";
        mockedDR["Length"] = "11";
        mockedDT.Rows.Add(mockedDR);
        TableManager mgr = new TestTableManager();
        IDataCache mockDataCache = MockRepository.GenerateMock<IDataCache>();
        DataCache.Instance = mockDataCache;
        mockDataCache.Expect(a => a.GetCache("Testkey")).Return(mockedDS);

        try
        {
            float retVal = (float)mgr.GetIntegerValueFromCodeTable("TestTable", "Junk", "FirstName", "Length", true);

        }
        catch (Exception ex)
        {
            Assert.AreEqual(ex.Message, "Cannot find column [Junk].");
        }
    }

返回的异常消息与测试消息匹配,但返回的错误是:测试方法GetIntegerFromCodeTableColumnNotFoundTest没有抛出预期的异常System.Data.EvaluateException。

我已经看过这个post,但无论他们如何运行,无论是在调试中,还是在当时,或者所有人,我都会失败。

0 个答案:

没有答案