Form Denetimi'nde açılacak Infopath Formları'nı test etmek için test yapıyorum, test yöntemimSystem.TypeInitializationException
[TestMethod]
public void Validate_OpenInfopathInFormControl()
{
Helper.OpenForm();
//Other Code
}
public class Helper
{
public static void OpenForm()
{
//Code to Open Form
}
}
Yardımcısını yazdım. Ama bu kodu çalıştırdığım her zaman :
Test metodu InfoPathTest.TestAPI.Validate_OpenInfopathInFormControl istisnayı attı: System.TypeInitializationException: 'ın InfoPathTest.Helpers.Helper' için tür başlatıcı bir istisnası attı. ---> System.NullReferenceException: başvurusu nesnesinin bir örneğine ayarlanmadı.
Hata ayıklamaya çalıştığımda, Helper sınıfının başlatılması gerektiğinde başarısız oluyor. Bu gerçekten kafamı yiyor, bunun için bir çözüm var mı?
İşte tam yardımcı sınıftır:
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();
}
}
}
Yardımcı sınıfı yapıcı ve değişkenler ile yapıştırabilir misiniz? –
Yardımcı sınıfınızda ('public static Helper()') statik yapıcıda hangi kodun olduğunu bize göstermeniz gerekecek. Bu, yukarıda güncellenmiş olan istisna – Rob
'a neden olan bir şey. –