我正在编写测试来测试 Infopath Forms 在表单控件中打开,我的测试方法如下
[TestMethod]
public void Validate_OpenInfopathInFormControl()
{
Helper.OpenForm();
//Other Code
}
我已将 Helper 类编写为
public class Helper
{
public static void OpenForm()
{
//Code to Open Form
}
}
但每次我执行这段代码时,都会给出:
测试方法
InfoPathTest.TestAPI.Validate_OpenInfopathInFormControl
抛出异常:
系统类型初始化异常:
类型初始值设定项
“InfoPathTest.Helpers.Helper”抛出了一个
例外。 --->
System.NullReferenceException:对象
未设置对实例的引用
目的..
当我尝试调试时,当需要初始化 Helper 类时,它会失败。这真是让我头疼,有什么解决办法吗?
这是完整的辅助类:
namespace InfoPathTest.Helpers
{
public class Helper
{
//This is the form i need to OPEN
private static MainForm f = new MainForm();
private static bool _isOpen = false;
public static bool isOpen
{
set { _isOpen = value; }
get { return _isOpen; }
}
public static void OpenForm()
{
try
{
f.Show();
}
catch (Exception ex)
{
throw ex;
}
_isOpen = true;
}
public static void CloseForm()
{
f.Hide();
}
}
}
您的测试电话Helper.OpenForm()
由于您没有静态构造函数,我能看到的唯一会导致抛出异常的是:
private static MainForm f = new MainForm();
因此 MainForm 构造函数中的某些内容可能会引发异常。放置一个断点firstMainForm 构造函数的行并逐步执行,直到看到抛出异常的位置。
或者,您可能会发现更容易确定问题所在,至少在最初,通过编写新的测试,您可以逐步执行该调用new MainForm()
直接地:
[TestMethod]
public void Validate_OpenInfopathInFormControl()
{
var form = new MainForm();
}
在测试的唯一行上放置一个断点,然后进入构造函数以确定它抛出异常的原因NullReferenceException
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)