के साथ बूस्ट यूनिट परीक्षण दोहराएं मेरे पास दो कक्षाएं हैं जो सटीक समान API और कार्यक्षमता साझा करती हैं (वे समान कार्यक्षमता प्रदान करने के लिए अलग-अलग तृतीय-पक्ष API को लपेट रहे हैं)। दो वर्ग में एक सामान्य बेस-क्लास/इंटरफ़ेस नहीं है।विभिन्न वर्ग प्रकार
मेरे पास उनमें से एक के लिए एक बूस्ट यूनिट परीक्षण है और दूसरे पर एक ही सटीक परीक्षण चलाने की इच्छा है, लेकिन अभी मैं केवल यह जानता हूं कि परीक्षण को कॉपी-पेस्ट कैसे करें और कक्षा के नाम को ढूंढें/बदलें। साथ ही साथ दो स्थानों पर परीक्षणों को अद्यतन करने के लिए परेशान होने के साथ-साथ इसका मतलब यह भी है कि दो वर्गों का परीक्षण समान रूप से किया जा रहा है।
क्या कोई तरीका है कि मैं टेस्ट-केस 'टेम्प्लेट' कर सकता हूं? यदि नहीं, तो आप इसे कैसे हल करेंगे? सभी मैं अब तक के बारे में सोच सकते हैं (छद्म कोड बहाना) की तरह कुछ है:
template<class T>
void runTests()
{
T t;
//do tests here
}
BOOST_AUTO_TEST_CASE(test_X)
{
runTests<X>();
}
BOOST_AUTO_TEST_CASE(test_Y)
{
runTests<Y>();
}
लेकिन मैं भले ही यह काम करेगा पता नहीं है।