কুনিট ব্যবহার করে আমার ইউনিট পরীক্ষাটি কী হওয়া দরকার তার একটি প্রাথমিক উদাহরণ:
<!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
করতে চান না তবে এটি একটি স্পটে পরিবর্তন করা আরও সহজ।
পঠনযোগ্যতার দিক থেকে, আমি মনে করি না যে এটি কোনওভাবেই চূড়ান্ত, যদিও আমি সম্ভবত দ্বিতীয়টিকে পছন্দ করি।
এটি আরও বিমূর্ত করে, আপনি ইনপুট / আউটপুট কেসগুলিকে একটি পৃথক সিএসভি ফাইলে রাখতে পারেন, যা এটি পরিবর্তন করা সহজতর করতে পারে।
প্রশ্নটি হল - এই জাতীয় ইউনিট পরীক্ষার লেখার চারপাশে সাধারণ সম্মেলনগুলি কী কী?
আপনার অ্যারে না রাখার কোনও কারণ আছে?