引发异常:'...'的类型初始化器引发异常。 ---> System.InvalidCastException:无法将类型为“ ...”的对象强制转换为“ ...”

时间:2019-05-24 14:24:22

标签: c# asp.net visual-studio unit-testing mstest

我正在尝试为Intranet应用程序编写单元测试。 该应用程序已经完全开发,并且一切都能按预期工作,但是有一个要求规范,要求为此编写一些单元测试。

当我运行单元测试时,如果测试方法中的代码为0,则它​​将通过;如果我以其他任何方式运行例如CachedData CD = new CachedData();,它将失败,并给我这个问题标题的错误。 / p>

我只需要指出正确的方向即可开始编写一些课程的测试。 作为参考,无论我在哪个班级尝试此操作,似乎都会收到此错误。

我已经尝试了一些愚蠢的方法来尝试使它诚实地工作,例如:

int val = 1;
int val1 = 1;
CachedData CD = new CachedData();
Assert.AreEqual(val, val1);

我尝试这样做是为了查看测试方法是否需要Assert才能成功运行,但事实并非如此,即使给定的Assert有效,它仍然会失败。

我尝试过的一种更相关的测试方法是:

CachedData CD = new CachedData();
Assert.IsNotNull(CD.ListAllFamilies(true));//I also tried IsNull..

我要测试的功能如下:

public DataProviderType [] ListAllFamilies(bool fromCache)
{
    if (!fromCache)
       return RefreshAllFamilies();

    DataProviderType [] data = (DataProviderType [])this.GetCachedData("FORMFAMS");

   if (data == null)
    data = (DataProviderType {})AddCachedData("FORMFAMS", new CachedDatatableRefreshDelegate(this.RefreshAllFamilies));

   return (DataProviderType [])data;
}

我只是想对该方法进行单元测试,结果并不能全部解决,我只需要能够为应用程序编写一些单元测试。如果您可以提供帮助,将不胜感激。

0 个答案:

没有答案