मुझे एनयूएनआईटी यूनिट परीक्षण में कुछ WPF घटकों का उपयोग करने की आवश्यकता है। मैं ReSharper के माध्यम से परीक्षण चलाने, और जब WPF वस्तु का उपयोग कर इसे निम्नलिखित त्रुटि के साथ विफल:एनयूनीट परीक्षणों में डब्ल्यूपीएफ घटकों का उपयोग करना - एसटीए का उपयोग कैसे करें?
System.InvalidOperationException:
बुला धागा होना चाहिए एसटीए, क्योंकि कई UI घटक इस आवश्यकता होती है।
मैं इस समस्या के बारे में पढ़ा है, और यह लग रहा है धागे की तरह STA होने की जरूरत है, लेकिन मैं समझ नहीं है कि कैसे अभी तक यह करने के लिए। समस्या को ट्रिगर करता है निम्न कोड:
[Test]
public void MyTest()
{
var textBox = new TextBox();
textBox.Text = "Some text"; // <-- This causes the exception.
}
यह एक इकाई परीक्षण नहीं है। साथ ही, क्या आप वाकई अपने परीक्षणों को WPF घटकों पर भरोसा करना चाहते हैं? यूआई को ऊपर के कारणों के लिए आवेदन तर्क से अलग किया जाना चाहिए। – Finglas
खैर - मुझे पता है कि यहां कोई वास्तविक परीक्षण नहीं है, और यह मेरी इकाई परीक्षण की तरह दिखता नहीं है। हालांकि - यह बिंदु दिखाने के लिए पर्याप्त कोड है। इसके अलावा - समस्या इस तथ्य से संबंधित है कि यह एक एनएनआईटी यूनिट परीक्षण है जो रीशेर्पर के माध्यम से चलती है - इसलिए मुझे इस संदर्भ को प्रश्न के लिए रखना होगा। आपका दूसरा बिंदु वैध है हालांकि .. मैं नहीं चाहता कि मेरा यूनिट परीक्षण WPF घटकों पर भरोसा करे, लेकिन अब यह सबसे अच्छा समाधान प्रतीत होता है। देखेंगे कि मैं इसे बाद में बाहर निकाल सकता हूं .. – stiank81
यदि आप देखना चाहते हैं कि मेरे पास एप्लिकेशन तर्क में यूआई क्यों है तो मेरा अन्य प्रश्न देखें: http://stackoverflow.com/questions/2220842/modifying-ui-from- आदेश-उपयोग-कमांड-बाइंडिंग-इन-डब्ल्यूपीएफ – stiank81