अधिकांश अनुकूलन एल्गोरिदम (हेयूरिस्टिक्स सहित) उन पर परिचालन लागू करके कुछ कॉन्फ़िगरेशन (आपके उदाहरण में एक मार्ग) पर काम करते हैं। खुद के लिए आपरेशन की गारंटी चाहिए कि वे वैध विन्यास देने, इसलिए पहले वहाँ उनमें से प्रत्येक के लिए इकाई परीक्षण किया जाना चाहिए। जब आप यकीन है कि अनुकूलन एल्गोरिथ्म का उपयोग करता है केवल उन लोगों के कार्यों के लिए पता है, वहाँ आम तौर पर एल्गोरिथ्म के परिणाम की वैधता परीक्षण के लिए कोई ज़रूरत नहीं होना चाहिए।
किसी भी अधिक जटिल एल्गोरिदम के लिए अच्छी इकाई परीक्षण बनाने के लिए, वास्तव में एल्गोरिथ्म को विस्तार से जानना होगा । "पहाड़ी चढ़ाई" जैसे सरल अनुमानों के लिए आप आमतौर पर छोटे इनपुट के परिणाम की भविष्यवाणी कर सकते हैं। उदाहरण के लिए, 3 से 5 बिंदुओं के प्रारंभिक मार्गों के लिए, जब एक निश्चित क्रम में दिया जाता है, तो आप अनुमान लगा सकते हैं कि क्या होगा। यह मेरे द्वारा ज्ञात अधिकांश नियतात्मक अनुमानी एल्गोरिदम के लिए सही रहेगा, इसलिए यह शायद शुरू करने के लिए एक अच्छी जगह है।
अधिक जटिल एल्गोरिदम के लिए, और इनपुट के बड़े आकार के लिए, जब आप इनपुट को एल्गोरिथ्म में फीड करते हैं और आउटपुट की जांच करने की कोशिश करते हैं, तो आप वास्तव में अब एक इकाई परीक्षण नहीं कर रहे हैं, आप स्वीकृति या एकीकरण परीक्षण कर रहे हैं। इस तरह के एक अहंकार "इकाई परीक्षण" के लिए आपको समस्या क्यों है, इसका कारण यह है कि इसमें आमतौर पर मुट्ठी भर छोटे हिस्से (व्यक्तिगत इकाइयां) होते हैं। तो इस तरह के एक एल्गोरिथ्म की वास्तव में इकाई परीक्षण के लिए, आपको उन हिस्सों की पहचान करनी होगी और उन्हें व्यक्तिगत रूप से परीक्षण करना होगा। इसके अतिरिक्त, आप यह सुनिश्चित करने के लिए कोड कवरेज या शाखा कवरेज तकनीकों का उपयोग कर सकते हैं कि आपके पास पर्याप्त परीक्षण मामले हैं।
यदि आप यूनिट-टेस्ट की तलाश में नहीं हैं, लेकिन स्वचालित स्वीकृति या एकीकरण परीक्षण हैं, तो आप कोशिश कर सकते हैं कि @Phillip ने (2) या (3) के तहत क्या सुझाव दिया है ।