मैं एनयूनीट और TestDriven.NET प्लगइन के साथ यूनिट परीक्षण लिख रहा हूं। मैं इस तरह के एक परीक्षण विधि के लिए मानकों को प्रदान करने के लिए करना चाहते हैं:मैं testDriven.NET के साथ परीक्षण विधि पैरामीटर कैसे निर्दिष्ट करूं?
[TestFixture]
public class MyTests
{
[Test]
public void TestLogin(string userName, string password)
{
// ...
}
...
}
आप देख सकते हैं, इन मानकों निजी डेटा कर रहे हैं, तो मैं उन्हें कड़ी मेहनत से कोड नहीं करना चाहते हैं या उन्हें एक फ़ाइल में डाल दिया। असल में मैं उन्हें कहीं भी लिखना नहीं चाहता, मैं हर बार परीक्षण चलाने के लिए संकेत देना चाहता हूं।
जब मैं इस परीक्षण चलाने का प्रयास, मैं उत्पादन विंडो में निम्न संदेश मिलता है:
testcase 'MyProject.MyTests.TestLogin' निष्पादित नहीं: नहीं तर्क
प्रदान किया गया तो मेरा सवाल है, मैं इन पैरामीटर कैसे प्रदान करूं? मुझे टेस्टड्रिवेन.नेट को एक प्रॉम्प्ट प्रदर्शित करने की उम्मीद थी ताकि मैं मान दर्ज कर सकूं, लेकिन यह नहीं ...
क्षमा करें अगर मेरा प्रश्न बेवकूफ लगता है, तो जवाब शायद बहुत आसान है, लेकिन मुझे कुछ भी नहीं मिला गूगल पर उपयोगी ...
संपादित करें: मैं बस यह करने के लिए एक रास्ता मिल गया है, लेकिन यह एक गंदा चाल है ...
[Test, TestCaseSource("PromptCredentials")]
public void TestLogin(string userName, string password)
{
// ...
}
static object[] PromptCredentials
{
get
{
string userName = Interaction.InputBox("Enter user name", "Test parameters", "", -1, -1);
string password = Interaction.InputBox("Enter password", "Test parameters", "", -1, -1);
return new object[]
{
new object[] { userName, password }
};
}
}
मैं अभी भी एक बेहतर समाधान में दिलचस्पी रखता हूँ ..
मुझे लगता है कि यदि आप ऐसा करते हैं तो आपको सीआई (सतत Itegration) वातावरण में स्वचालित रूप से अपने परीक्षण चलाने में परेशानी होगी। – 7wp
आप बिल्कुल सही हैं। हालांकि, यह एक छोटी सामुदायिक परियोजना है, इसलिए सीआई वास्तव में कम से कम एक मुद्दा नहीं है। –