Qunit का उपयोग करके मेरी इकाई परीक्षण के लिए एक बुनियादी उदाहरण यहां दिया गया है:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<link rel="stylesheet" href="qunit/qunit-1.13.0.css">
<script src = "qunit/qunit-1.13.0.js"></script>
<script src = "../js/fuzzQuery.js"></script>
<script>
test("Fuzz Query Basics", function()
{
equal(fuzzQuery("name:(John Smith)"), "name:(John~ Smith~)");
equal(fuzzQuery("name:Jon~0.1"), "name:Jon~0.1");
equal(fuzzQuery("Jon"), "Jon~");
//etc
}
);
</script>
</head>
<body>
<div id="qunit"></div>
</body>
</html>
अब मैं सोच रहा था कि यह थोड़ा दोहराव है।
एक सरणी में सभी इनपुट / आउटपुट डाल सकते हैं, और इसके माध्यम से लूप कर सकते हैं।
test("Fuzz Query Basics", function()
{
var equals = [
["name:(John Smith)", "name:(John~ Smith~)"],
["name:Jon~0.1", "name:Jon~0.1"],
["Jon", "Jon~"]
];
for (var i = 0; i<equals.length; i++)
{
equal(fuzzQuery(equals[i][0]), equals[i][1]);
}
}
);
और यह ठीक काम करता है।
इस दूसरी विधि के लिए मैं जो एकल लाभ सोच सकता हूं, वह यह है कि यदि यह पता चला कि आप वास्तव में equal
इसका उपयोग नहीं करना चाहते हैं तो एक स्थान पर उस बदलाव को करना आसान है।
पठनीयता के संदर्भ में, मुझे नहीं लगता कि यह किसी भी तरह से निर्णायक है, हालांकि मैं शायद दूसरा पसंद करता हूं।
इसे आगे बढ़ाते हुए, आप इनपुट / आउटपुट मामलों को एक अलग CSV फ़ाइल में डाल सकते हैं, जिससे इसे संशोधित करना आसान हो सकता है।
प्रश्न है - इस प्रकार के यूनिट परीक्षणों को लिखने के बारे में सामान्य धारणाएं क्या हैं?
क्या कोई कारण है जो आपको उन्हें सरणियों में नहीं रखना चाहिए?