Lua:
টেস্ট লিখা

কিভাবে:

লুয়া, হালকা কিন্তু শক্তিশালী একটি স্ক্রিপ্টিং ভাষা হয়েও, কোনো বিল্ট-ইন টেস্টিং ফ্রেমওয়ার্ক সম্বলিত না। তবে, বাস্টেড এবং লুয়া ইউনিট এর মতো থার্ড-পার্টি লাইব্রেরিগুলি টেস্টিং অপেক্ষাকৃত সহজ করে তোলে। এখানে, আমরা উভয়ের ব্যবহারের উদাহরণ দেখব।

বাস্টেড ব্যবহার করে

বাস্টেড হলো একটি জনপ্রিয় লুয়া টেস্টিং ফ্রেমওয়ার্ক যা টেস্ট লেখার একটি নমনীয় উপায় প্রদান করে। প্রথমত, লুয়ারকস মাধ্যমে বাস্টেড ইনস্টল করুন (luarocks install busted). ইনস্টল করার পর, আপনি আপনার টেস্টগুলি লিখতে পারেন। এখানে দুইটি সংখ্যা যোগ করা add ফাংশনের জন্য একটি সিম্পল টেস্ট রয়েছে:

-- add.lua
local function add(a, b)
  return a + b
end

return add
-- add_spec.lua
local add = require('add')

describe("Add function", function()
  it("সঠিকভাবে দুই সংখ্যা যোগ করা উচিত", function()
    assert.are.equal(5, add(2, 3))
  end)
end)

টেস্টগুলি চালানোর জন্য, আপনার টার্মিনালে busted কমান্ড চালান। পাস হওয়া একটি টেস্টের জন্য নমুনা আউটপুট দেখতে পারেন এরকম:

●
1 সফলতা / 0 ব্যর্থতা / 0 ত্রুটি / 0 মুলতুবি : 0.002 সেকেন্ড

লুয়া ইউনিট ব্যবহার করে

লুয়া ইউনিট হলো আরেকটি টেস্টিং ফ্রেমওয়ার্ক যেটি xUnit কনভেনশনগুলি অনুসরণ করে এবং সেটআপ করা সহজ। লুয়ারকস ব্যবহার করে luarocks install luaunit দিয়ে লুয়া ইউনিট ইনস্টল করুন। উপরের মতো একটি সিমিলার টেস্ট আপনি লুয়া ইউনিট দিয়ে এভাবে লিখতে পারেন:

-- add.lua একই থাকে

-- test_add.lua
luaunit = require('luaunit')
local add = require('add')

function testAdd()
  luaunit.assertEquals(add(2, 3), 5)
end

os.exit(luaunit.LuaUnit.run())

এই স্ক্রিপ্টটি সরাসরি লুয়া দিয়ে চালালে (lua test_add.lua) আউটপুট আসবে এরকম:

.
Ran 1 tests in 0.001 seconds, 1 success, 0 failures

বাস্টেড এবং লুয়া ইউনিট উভয়ই বিভিন্ন টেস্টিং পরিস্থিতি সামলানোর জন্য বিস্তৃত বৈশিষ্ট্য অফার করে, যাতে মকিং, স্পাইং এবং অ্যাসিঙ্ক্রোনাস টেস্টিং অন্তর্ভুক্ত। এদের মধ্যে নির্বাচন করা আপনার প্রকল্পের বিশেষ চাহিদা এবং সিনট্যাক্স এবং ফাংশনালিটি সম্পর্কে আপনার ব্যক্তিগত পছন্দের উপর নির্ভর করবে।