मेरे पास एक विधि है जिसके लिए मैं इकाई परीक्षण लिखना चाहता हूं। मैं इसे काफी सामान्य रखने जा रहा हूं क्योंकि मैं इसे लागू करने के तरीके पर चर्चा नहीं करना चाहता। विधि है:
public void HandleItem(item a)
{
CreateNewItem();
UpdateStatusOnPreviousItem();
SetNextRunDate();
}
इसलिए इस वर्ग के पास एक सार्वजनिक तरीका है जो तब कुछ निजी तरीकों को तर्क करने के लिए कहता है।
इसलिए यूनिट टेस्ट लिखते समय मैं तीनों चीजों की जांच करना चाहता हूं। जैसा कि वे सभी एक ही रन में कहे जाते हैं मैंने सोचा कि मैं इसे एक परीक्षा के रूप में कर सकता हूं:
public void GivenItem_WhenRun_Thenxxxxx
{
HandleItem(item);
// Assert item has been created
// Assert status has been set on the previous item
// Assert run date has been set
}
लेकिन मुझे लगा कि मैं इसे तीन अलग-अलग परीक्षणों के रूप में भी लिख सकता हूं:
public void GivenItem_WhenRun_ThenItemIsCreated()
{
HandleItem(item);
}
public void GivenItem_WhenRun_ThenStatusIsUpdatedOnPreviousItem()
{
HandleItem(item);
}
public void GivenItem_WhenRun_ThenRunDateIsSet()
{
HandleItem(item);
}
इसलिए मेरे लिए यह अच्छा लगता है क्योंकि यह अनिवार्य रूप से लिस्टिंग की आवश्यकता है, लेकिन फिर तीनों संबंधित हैं और परीक्षण पद्धति पर किए गए कार्य को ठीक उसी तरह करने की आवश्यकता है, इसलिए मैं एक ही कोड को 3 बार चला रहा हूं।
क्या इसके साथ लेने के लिए एक अनुशंसित दृष्टिकोण है?
धन्यवाद