से आईओएस यूआई घटकों का निर्माण करना मैं कुछ कोड के लिए यूनिट टेस्ट लिखने की कोशिश कर रहा हूं जो प्रोग्रामेटिक रूप से UIButtons बनाता है, लेकिन जब मैं इस कोड को परीक्षण से कॉल करता हूं, तो मुझे NullReferenceException
मिलता है। डीबगर में कदम उठाने के साथ, ऐसा लगता है कि UIButton.FromType()
शून्य लौटाता है।एनयूनीट परीक्षण कोड
यहाँ विधि मैं परीक्षण कर रहा हूँ है:
public UIButton makeButton (String title, Action<IWelcomeController> action)
{
UIButton button = UIButton.FromType (UIButtonType.RoundedRect);
// button is null here
button.SetTitle(title, UIControlState.Normal);
button.TouchUpInside += (sender, e) => {
action(controller);
};
return button;
}
और यहाँ परीक्षा पद्धति है:
[Test()]
public void TestMakeButtonTitle()
{
String title = "Elvis";
UIButton button = GetFactory().makeButton(title, delegate(IWelcomeController w) {});
Assert.AreEqual(title, button.Title(UIControlState.Normal));
}
मेरा अनुमान है कि वहाँ कुछ जादू मैं आदेश प्राप्त करने के लिए पर्यावरण के लिहाज से क्या करने की जरूरत है एक असली आवेदन के बाहर काम करने के लिए MonoTouch.UIKit। कोई संकेत? (और यदि यह संभव नहीं है, तो वैकल्पिक दृष्टिकोण सुझाए गए?)
यदि यह मामला था, तो मैं उम्मीद करता हूं कि कोड संकलित न हो, या जब मैं UIButton क्लास को लोड करने का प्रयास करता हूं, या FromType() को कॉल करता हूं तो उड़ाता हूं। मैं FromType() कॉल सफल होने की उम्मीद नहीं करता लेकिन शून्य वापस आऊंगा। –