ইউনিট পরীক্ষার সি কোড [বন্ধ]


853

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

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



2
@Zmo - সফ্টওয়্যার প্রস্তাবনা পাওয়ার জন্য সফটওয়্যার প্রস্তাবনাগুলি স্ট্যাক এক্সচেঞ্জ সাইট। আমি এটি ব্যবহার করি নি, সুতরাং এটি কতটা ভাল কাজ করে তা বলতে পারি না। সেখানে পোস্ট করার আগে আপনার তাদের পোস্ট করার নিয়মগুলি পরীক্ষা করা উচিত।
জোনাথন লেফলার

উত্তর:


495

সি-তে একটি ইউনিট পরীক্ষার কাঠামো হ'ল চেক ; সি-তে ইউনিট টেস্টিং ফ্রেমওয়ার্কের একটি তালিকা এখানে পাওয়া যাবে এবং নীচে পুনরুত্পাদন করা হবে। আপনার রানটাইমের কতটি মানক গ্রন্থাগার রয়েছে তার উপর নির্ভর করে আপনি সেগুলির মধ্যে একটি ব্যবহার করতে সক্ষম হতে পারবেন না।

AceUnit

AceUnit (উন্নত সি এবং এমবেডেড ইউনিট) নিজেকে আরামদায়ক সি কোড ইউনিট পরীক্ষার কাঠামো হিসাবে বিল দেয় as এটি JUnit 4.x নকল করার চেষ্টা করে এবং প্রতিবিম্বের মতো ক্ষমতা অন্তর্ভুক্ত করে। এসইউনিটটি রিসোর্স সীমাবদ্ধ পরিবেশে যেমন এম্বেড করা সফ্টওয়্যার ডেভেলপমেন্টে ব্যবহার করা যেতে পারে এবং গুরুত্বপূর্ণভাবে এটি পরিবেশে ভাল চলে যেখানে আপনি কোনও একক স্ট্যান্ডার্ড শিরোনাম ফাইল অন্তর্ভুক্ত করতে পারবেন না এবং এএনএসআই / আইএসও সি লাইব্রেরি থেকে একটি একক স্ট্যান্ডার্ড সি ফাংশন শুরু করতে পারবেন না। এটিতে একটি উইন্ডোজ পোর্টও রয়েছে। এটি সংকেতগুলি আটকাতে কাঁটাচামচ ব্যবহার করে না, যদিও লেখকরা এই জাতীয় বৈশিষ্ট্য যুক্ত করার আগ্রহ প্রকাশ করেছেন। দেখুন AceUnit হোমপেজে

জিএনইউ অটোনেট

পৃথক ঠিকানার জায়গাতে ইউনিট পরীক্ষা চালানোর জন্য জোর দেওয়া সহ চেকের মতো একই লাইন বরাবর অনেকটা (আসলে, চেকের মূল লেখকটি জিএনইউ অটোনিট থেকে ধারণা ধার করেছিলেন)। জিএনইউ অটোনিট GLib ব্যাপকভাবে ব্যবহার করে যার অর্থ লিঙ্কিং এবং এ জাতীয় বিশেষ বিকল্পগুলির প্রয়োজন, তবে এটি আপনার কাছে বড় সমস্যা নাও হতে পারে, বিশেষত যদি আপনি ইতিমধ্যে জিটিকে বা জিএলিব ব্যবহার করছেন। দেখুন গনুহ Autounit হোমপেজে

cUnit

GLib এছাড়াও ব্যবহার করে, তবে ইউনিট পরীক্ষার ঠিকানা স্থান রক্ষা করতে কাঁটাচামচ করে না।

CUnit

উইন 32 জিইউআই বাস্তবায়নের পরিকল্পনা সহ স্ট্যান্ডার্ড সি। বর্তমানে ইউনিট পরীক্ষার ঠিকানা স্থান কাঁটাচামচ বা অন্যথায় সুরক্ষিত করে না। প্রথম দিকে বিকাশ। দেখুন CUnit হোমপেজে

আকর্ষক

কেবল একটি .c এবং একটি .h ফাইল সহ একটি সাধারণ কাঠামো যা আপনি আপনার উত্স ট্রিতে ফেলেছেন। দেখুন আকর্ষক হোমপেজে

CppUnit

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

embUnit

এম্বেড (এম্বেড ইউনিট) এম্বেড থাকা সিস্টেমগুলির জন্য আরেকটি ইউনিট পরীক্ষার কাঠামো। এটি AceUnit দ্বারা ত্যাগ করা বলে মনে হয়। এম্বেড ইউনিট হোমপেজ

MinUnit

ম্যাক্রোগুলির একটি ন্যূনতম সেট এবং এটিই! পয়েন্টটি হ'ল আপনার কোডটি পরীক্ষা করার পক্ষে এটি কত সহজ। দেখুন MinUnit হোমপেজে

মিঃ অ্যান্ডোর পক্ষে কুনিট

একটি CUnit বাস্তবায়ন যা মোটামুটি নতুন এবং সম্ভবত প্রাথমিকভাবে বিকাশ রয়েছে। মিঃ অ্যান্ডোর হোমপেজের জন্য CUnit দেখুন ।

এই তালিকাটি সর্বশেষে ২০০৮ সালের মার্চ মাসে আপডেট করা হয়েছিল।

আরও ফ্রেমওয়ার্ক:

CMocka

সিএমোকা হ'ল সি'র জন্য পরীক্ষামূলক কাঠামো যা মক অবজেক্টগুলির জন্য সমর্থন করে। এটি ব্যবহার করা সহজ এবং সেটআপ করা।

দেখুন CMocka হোমপেজে

নির্ণায়ক

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

দেখুন নির্ণায়ক হোমপেজে আরও তথ্যের জন্য।

HWUT

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

দেখুন HWUT হোমপেজে

CGreen

সি এবং সি ++ এর জন্য একটি আধুনিক, পোর্টেবল, ক্রস-ল্যাঙ্গুয়েজ ইউনিট টেস্টিং এবং উপহাসের কাঠামো। এটি একটি alচ্ছিক বিডিডি স্বরলিপি, একটি মশকরা গ্রন্থাগার, এটি একটি একক প্রক্রিয়াতে চালানোর ক্ষমতা (ডিবাগিং সহজ করার জন্য) উপলব্ধ করে। একটি পরীক্ষা রানার যা পরীক্ষার ফাংশনগুলি স্বয়ংক্রিয়ভাবে আবিষ্কার করে। তবে আপনি নিজের প্রোগ্রামটি তৈরি করতে পারেন create

এই সমস্ত বৈশিষ্ট্য (এবং আরও) সিগ্রিন ম্যানুয়ালটিতে ব্যাখ্যা করা হয়েছে ।

উইকিপিডিয়া ইউনিট টেস্টিং ফ্রেমওয়ার্কের তালিকা অনুযায়ী সি ইউনিট টেস্টিং ফ্রেমওয়ার্কের একটি বিস্তারিত তালিকা দেয় : সি


প্রাথমিকভাবে, চেকটি দেখতে খুব শক্ত দেখাচ্ছে looks এটি দেখতে হবে কীভাবে এটি বাস্তব ব্যবহারের আগুনের নীচে চেপে ধরেছে ... তবে এটি অবশ্যই মনে হচ্ছে এটি বিলটি খাপ খায়।
পল ওসবার্ন

8
আমরা আমাদের এম্বেড থাকা সিস্টেমে ইউনিট টেস্টিং কোডের জন্য চেক ব্যবহার করি। বেশিরভাগ অংশের জন্য চেকটি একটি ভাল পছন্দ ছিল তবে এখন আমরা ইউসিলিনাক্সে চলমান সিস্টেমে কাজ করছি এবং যেহেতু চেক কাঁটাচামচ প্রয়োজন, এটি সেই সিস্টেমে কাজ করে না। : /
ডেভিড হল্ম

1
@ ল্যাবাইরিন্থ উবুন্টুর মধ্যে একটি হ'ল ২০০২ সাল The এর সর্বাধিক বর্তমান সংস্করণটি এই বছর থেকে (২০১৪ এই মন্তব্য হিসাবে)। আমাকে এটি উত্স থেকে সংকলন করতে হয়েছিল।
ব্যারি ব্রাউন

4
HWUT রিমোট-কন্ট্রোলযোগ্য স্টাবগুলি তৈরি করে যা খুব শক্ত হয়ে আসে যদি আপনি হার্ডওয়ার ড্রাইভারের সাথে ইন্টারেক্ট করে এমন মডিউলগুলির জন্য পরীক্ষা লিখতে চান। সেই ড্রাইভারগুলি বেশিরভাগ ক্ষেত্রেই পিসিতে উপস্থিত হয় না। এইচডব্লিউটি ডকুমেন্টেশন
ফ্র্যাঙ্ক-রেনে শোফার

1
চেকের গিথুব পৃষ্ঠা অনুসারে , সর্বশেষ সংস্করণটি 17 ডিসেম্বর, 20160.11.0প্রকাশিত হয়েছে ।
মনদীপ সন্ধু

164

ব্যক্তিগতভাবে আমি গুগল টেস্ট কাঠামো পছন্দ করি ।

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

লোকেরা " সীমস " সম্পর্কে কথা বলার সময় এটি উল্লেখ করে । সিতে আপনার একমাত্র বিকল্প হ'ল আপনার নির্ভরতাগুলি উপহাস করার জন্য প্রাক প্রসেসর বা লিঙ্কার ব্যবহার করা।

আমার সি প্রকল্পগুলির একটিতে একটি সাধারণ পরীক্ষার স্যুটটি দেখতে দেখতে এটির মতো হতে পারে:

#include "myimplementationfile.c"
#include <gtest/gtest.h>

// Mock out external dependency on mylogger.o
void Logger_log(...){}

TEST(FactorialTest, Zero) {
    EXPECT_EQ(1, Factorial(0));
}

মনে রাখবেন আপনি আসলে সি ফাইল অন্তর্ভুক্ত করছেন, শিরোনাম ফাইলটি নয় । এটি সমস্ত স্থিতিশীল ডেটা সদস্যদের অ্যাক্সেসের সুবিধা দেয়। এখানে আমি আমার লগারকে বিদ্রূপ করে আছি (যা হয়ত লগারে থাকতে পারে o

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

আমি দেখতে পেলাম যে সি ++ কোডটি সাধারণত ওও কোডটি সাধারণত প্রক্রিয়াভুক্তের তুলনায় খুব কম মিলিত হয় (অবশ্যই কোডিং স্টাইলে এটি অনেকটা নির্ভর করে) এর কারণে খুব সহজেই সহজ হয়। এছাড়াও সি ++ এ আপনি নির্ভরশীলতা ইঞ্জেকশন এবং পদ্ধতিটি ওভাররাইডের মতো কৌশল ব্যবহার করতে পারেন যা অন্যথায় এনপ্যাপুলেটেড হয় না এমন কোডগুলিতে সিম পেতে।

লিগ্যাসি কোডটি পরীক্ষা করার বিষয়ে মাইকেল ফিচারগুলির একটি দুর্দান্ত বই রয়েছে । একটি অধ্যায়ে তিনি নন-ওও কোড নিয়ে কাজ করার কৌশলগুলি কভার করেছেন যা আমি অত্যন্ত সুপারিশ করি।

সম্পাদনা করুন : আমি ইউনিট পরীক্ষার পদ্ধতি সংক্রান্ত কোড সম্পর্কে একটি ব্লগ পোস্ট লিখেছি , গিটহাবের সাথে উত্স উপলব্ধ

সম্পাদনা : একটি হল নতুন বই বাস্তবমুখী প্রোগ্রামাররা থেকে আসছে আউট বিশেষভাবে ঠিকানাগুলি ইউনিট সি কোড যা পরীক্ষা আমি অত্যন্ত সুপারিশ


17
প্রাগ কিনবেন না। অগ্রগতি বই। এটিতে এমন কোনও অন্তর্দৃষ্টি নেই যা এই প্রশ্নের উত্তরের নয়।
ফিলি

3
আমি জানি যে সি এবং সি ++ এর প্রচুর পরিমাণে ওভারল্যাপ রয়েছে তবে আপনি যখন সি কোড তৈরি করে এমন কোড তৈরি করছেন তখন সি ++ টেস্টিং লাইব্রেরি ব্যবহার করা আমার পক্ষে ভাল ধারণা হিসাবে প্রকাশিত হয় না।
রাফায়েল আলমেডা

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

@ ফিলি আমি একমত নই আমি বইটি খুব মূল্যবান বলে খুঁজে পেয়েছি, বিশেষত এমন কারও জন্য যারা সি
তে

আমি এইচএএল ফাংশনগুলিকে উপহাস করার জন্য নকল ফাংশন ফ্রেমওয়ার্কটি ব্যবহার করছি, যেমন উপরে বর্ণিত হয়েছে। এটি জিটিস্টের সাথে খুব ভালভাবে কাজ করে। github.com/meek Microsoft
লিওনার্দো

135

মুনুনিট একটি অবিশ্বাস্যভাবে সহজ ইউনিট পরীক্ষার কাঠামো। আমি এভির জন্য ইউনিট টেস্ট সি মাইক্রোকন্ট্রোলার কোডটি ব্যবহার করছি।


5
এম্বেড থাকা সিস্টেমগুলি করার আমার কোনও অভিজ্ঞতা নেই তাই আমি সে সম্পর্কে কোনও মন্তব্য করতে পারি না, তবে ছোট সি প্রোগ্রামগুলির জন্য (স্কুল ওয়ার্ক, স্ক্রিপ্ট) এটি নিখুঁত বলে মনে হচ্ছে। দুর্দান্ত লিঙ্ক।
অ্যান্ড্রু কেএস

3
@ টোস্টড_ফ্লেক্স আমি এটিকে একটি গিথুব গিস্ট হিসাবে তৈরি করেছি: gist.github.com/sam159/0849461161e86249f849
স্যাম

এখানে অনুসন্ধান শুরু করার আগে আমি যা সামনে এলাম এটির খুব কাছাকাছি! আমি টেস্টিংটি স্বয়ংক্রিয় করতে চাই যাতে টেস্ট (ফানকাম, বডি) ফাংশনটি তৈরি করে এবং ফাংশনটির জন্য একটি পয়েন্টার সঞ্চয় করে, তবে দেখে মনে হচ্ছে আমার কিছু বাহ্যিক প্রক্রিয়াকরণ করতে হবে।
বেন কুশিগিয়ান

41

আমি বর্তমানে কিউস্টেস্ট ইউনিট পরীক্ষার কাঠামো ব্যবহার করছি:

http://cutest.sourceforge.net/

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

  • আপনি যেখানেই চেষ্টার রুটিনগুলি বলছেন সেখানে একটি শিরোনাম ফাইল অন্তর্ভুক্ত রয়েছে
  • একটি একক অতিরিক্ত 'সি' ফাইলটি চিত্রের সাথে সংকলন / সংযুক্ত করতে হবে
  • ইউনিট টেস্টগুলি সেট আপ করতে এবং কল করার জন্য প্রধানতে কিছু সাধারণ কোড যুক্ত হয়েছে - আমার কেবল এটি একটি বিশেষ প্রধান () ফাংশনে রয়েছে যা ইউনাইটেস্টের নির্মানের সময় সংজ্ঞায়িত হলে সংকলিত হয় gets

সিস্টেমকে একটি হিপ এবং কিছু স্টিডিয়ো কার্যকারিতা সমর্থন করতে হবে (যা সমস্ত এম্বেড থাকা সিস্টেমগুলিতে নেই)। কোডটি যথেষ্ট সহজ যে আপনার প্ল্যাটফর্মটি না থাকলে আপনি সম্ভবত সেই প্রয়োজনীয়তার বিকল্পগুলিতে কাজ করতে পারেন।

বহিরাগত "সি"}} ব্লকগুলির কিছু ন্যায়বিচারমূলক ব্যবহারের সাথে এটি সি ++ কে ঠিকঠাক পরীক্ষার পক্ষেও সমর্থন করে।


1
আমি কিউস্টেস্টের জন্য ভোট দ্বিতীয় করব। আমি এটি নিন্টেন্ডো ডিএসে হোমব্রু বিকাশের জন্য ব্যবহার করছি এবং এটি সেট আপ করতে বা এটি ব্যবহার করতে কোনও অসুবিধা হয়নি।
থেরান

আমি এই তৃতীয় করব। আমি এটি ডাউনলোড করেছিলাম যখন এটির সংস্করণ 1.4 ছিল এবং এটি এক্সএমএলে ডাম্প করার জন্য এটি সংশোধন করে। দেখে মনে হচ্ছে একটি সংস্করণ 1.5 আছে যা আমাকে ডাউনলোড করে দেখতে হবে।
টেলর দাম

2
কিউএনএস্ট একটি কিউএনএক্স সিস্টেমে চলমান কোড পরীক্ষা করার জন্য আমার পক্ষে ভাল কাজ করেছে।
জেস ব্রাউনিং

এটি JUnit এর মতো কাজ করার দাবি করে, তবে আমি মিস করেছি Beforeএবং Afterকল করছি। সব মিলিয়ে, এটা সুন্দর।
ড্রাগাস

40

আমি প্রায় রটকোকের মতোই বলি তবে আপনি যদি ইউনিট পরীক্ষায় এম্বেডেড মোচড় রাখেন তবে ...

Ityক্য - ইউনিট পরীক্ষার সি কোডের জন্য উচ্চ প্রস্তাবিত কাঠামো।

এম্বেড করা সি এর জন্য এই থ্রেড টিডিডি-তে বইয়ের যে উদাহরণগুলি উল্লেখ করা হয়েছে সেগুলি ইউনিটি (এবং সিপুপিস্টেস্ট) ব্যবহার করে লেখা হয়েছে।


5
সিএমক ব্যবহার করে স্বয়ংক্রিয় মক জেনারেশনের সাথে মিলিত ityক্যটি বেশ ভাল।
thegreendroid

আপনি কি সেন্টিমোকের জন্য কিছু ভাল টিউটোরিয়াল প্রস্তাব করতে পারেন?
মেলউইন_ জোস

সিডলিং দ্বারা অর্কেস্টেড সিএমক এবং ইউনিটির জন্য খুব ভাল টিউটোরিয়াল রয়েছে:
দিমিত্রিফ্রঙ্ক /

35

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

একটি উদাহরণ:

#include <tap.h>

int main () {
    plan(5);

    ok(3 == 3);
    is("fnord", "eek", "two different strings not that way?");
    ok(3 <= 8732, "%d <= %d", 3, 8732);
    like("fnord", "f(yes|no)r*[a-f]$");
    cmp_ok(3, ">=", 10);

    done_testing();
}

আমি আমার নিজের প্রকল্পগুলির জন্য আমার নিজের লিবিট্যাপ সমতুল্য হ্যান্ড-রোলড করেছি, তবে এখন যেহেতু আমি জানি এটি বিদ্যমান, আমাকে আর আমার বজায় রাখতে হবে না। শান্ত!
পূর্বসূরী

1
ok(TESTING==IsSimple(), "libtap is super easy to use")
আশেলী

26

সি এর জন্য মক অবজেক্টের সমর্থন সহ সি এর জন্য একটি মার্জিত ইউনিট পরীক্ষার কাঠামো রয়েছে । এর জন্য কেবলমাত্র স্ট্যান্ডার্ড সি লাইব্রেরি প্রয়োজন, বিভিন্ন কম্পিউটারে প্ল্যাটফর্ম (এম্বেডড সহ) এবং বিভিন্ন সংকলক সহ কাজ করে ilers

এটিতে বিভিন্ন মেসেজ আউটপুট ফর্ম্যাট যেমন সাবুনিট, টেস্ট অ্যানিথিং প্রোটোকল এবং জুনিত এক্সএমএল রিপোর্টগুলির জন্য সমর্থন রয়েছে।

এম্বেড প্ল্যাটফর্মগুলিতে কাজ করার জন্য সেন্টিমোকা তৈরি করা হয়েছে এবং উইন্ডোজ সমর্থনও রয়েছে।

একটি সাধারণ পরীক্ষা এরকম দেখাচ্ছে:

#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <cmocka.h>

/* A test case that does nothing and succeeds. */
static void null_test_success(void **state) {
    (void) state; /* unused */
}

int main(void) {
    const struct CMUnitTest tests[] = {
        cmocka_unit_test(null_test_success),
    };
    return cmocka_run_group_tests(tests, NULL, NULL);
}

এপিআই সম্পূর্ণরূপে নথিভুক্ত করা এবং বিভিন্ন উদাহরণ সোর্স কোড অংশ।

সেন্টিমোকা দিয়ে শুরু করার জন্য আপনাকে এলডাব্লুএন.এন.টায় নিবন্ধটি পড়তে হবে: সিতে মক অবজেক্টগুলির সাথে ইউনিট পরীক্ষা করা

সেমিকোকা 1.0 ফেব্রুয়ারী 2015 প্রকাশিত হয়েছে।


3
আমি যখন সেমিকোকারি এবং সেমিকোকায় দেখি ডকুমেন্টেশনটি একই রকম দেখায়। এই প্রকল্পগুলি কি সম্পর্কিত?
ম্যাট ফ্রাইডম্যান

6
সেন্টিমোকা সিএমকোকারির উত্তরসূরি। আমি এটিকে কাঁপিয়েছি কারণ এটি অনিচ্ছাকৃত।
asn

21

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

সিমক শিরোনাম ফাইলগুলি স্ক্যান করে এবং এটি সনাক্ত করে এমন প্রোটোটাইপের ভিত্তিতে মক ফাংশন উত্পন্ন করে। মকস আপনাকে নিখুঁত বিচ্ছিন্নভাবে একটি সি ফাইল পরীক্ষা করার অনুমতি দেবে। আপনাকে যা করতে হবে তা হ'ল আপনার পরীক্ষার ফাইলটিকে আপনার আসল অবজেক্ট ফাইলগুলির পরিবর্তে শোকের সাথে লিঙ্ক করা।

সেন্টিমকের আরও একটি সুবিধা হ'ল এটি বিদ্রূপিত ক্রিয়াকলাপগুলিতে পাস হওয়া প্যারামিটারগুলি বৈধতা দেবে এবং এটি আপনাকে মকগুলি কী রিটার্ন মান প্রদান করবে তা নির্দিষ্ট করতে দেয়। আপনার কার্য সম্পাদনে বিভিন্ন প্রবাহের পরীক্ষা করতে এটি খুব দরকারী test

পরীক্ষাগুলিতে আদর্শ টেস্টএ (), টেস্টবি () ফাংশন থাকে যার মধ্যে আপনি প্রত্যাশা তৈরি করেন, টেস্টগুলি পরীক্ষা করতে এবং সংস্থান পরীক্ষা করার জন্য ফাংশনগুলিতে কল করুন।

সর্বশেষ পদক্ষেপটি testsক্যের সাথে আপনার পরীক্ষার জন্য রানার তৈরি করা gene সিমক unityক্য পরীক্ষার কাঠামোর সাথে আবদ্ধ। ইউনিটি অন্যান্য ইউনিট পরীক্ষার কাঠামোর মতোই শিখতে সহজ।

একটি চেষ্টা মূল্য ভাল এবং উপলব্ধি করা বেশ সহজ:

http://sourceforge.net/apps/trac/cmock/wiki

আপডেট 1

আরেকটি কাঠামো যা আমি তদন্ত করছি তা হ'ল কমকারি।

http://code.google.com/p/cmockery/

এটি একটি খাঁটি সি ফ্রেমওয়ার্ক যা ইউনিট টেস্টিং এবং উপহাসকে সমর্থন করে। রুবিতে এটির কোনও নির্ভরতা নেই (সিএমকের বিপরীতে) এবং এটি বাহ্যিক লিবের উপর খুব কম নির্ভরশীলতা রাখে।

মোকগুলি সেটআপ করার জন্য এটি আরও কিছু ম্যানুয়াল কাজ প্রয়োজন কারণ এটি কোনও কোড উত্পন্ন করে না। এটি কোনও বিদ্যমান প্রকল্পের জন্য প্রচুর কাজের প্রতিনিধিত্ব করে না যেহেতু প্রোটোটাইপগুলি খুব বেশি পরিবর্তন ঘটবে না: একবার আপনার ঠাট্টা করার পরে আপনার কিছুক্ষণের জন্য তাদের পরিবর্তন করার প্রয়োজন হবে না (এটি আমার ক্ষেত্রে)। অতিরিক্ত টাইপিং মোকগুলির সম্পূর্ণ নিয়ন্ত্রণ সরবরাহ করে। যদি এমন কিছু জিনিস থাকে যা আপনি পছন্দ করেন না, তবে আপনি কেবল আপনার মক পরিবর্তন করেন।

বিশেষ পরীক্ষার রানার দরকার নেই। আপনার কেবল পরীক্ষার একটি অ্যারে তৈরি এবং এটি রান_স্টেটস ফাংশনে পাস করার প্রয়োজন। এখানেও কিছুটা বেশি ম্যানুয়াল কাজ করা হয়েছে তবে আমি অবশ্যই একটি স্বনির্ভর স্বায়ত্তশাসিত কাঠামোর ধারণা পছন্দ করি।

প্লাস এতে কিছু নিফটি সি ট্রিকস রয়েছে যা আমি জানতাম না।

শুরু করার জন্য সামগ্রিকভাবে সিমকারিটির জন্য মকগুলি সম্পর্কে আরও কিছুটা বোঝার প্রয়োজন। উদাহরণগুলি আপনাকে এটি কাটিয়ে উঠতে সহায়তা করবে। দেখে মনে হচ্ছে এটি সহজ মেকানিক্স দিয়ে কাজটি করতে পারে।


8
আপনি cmocka.orgএকবার দেখে নেওয়া উচিত যা সেমিকোকেরির উত্তরসূরি!
asn

আপনি কি সেন্টিমোকের জন্য কিছু ভাল টিউটোরিয়াল প্রস্তাব করতে পারেন?
মেলউইন_জোজ

এলডাব্লুএন নিবন্ধ দিয়ে শুরু করুন এবং তারপরে সেম্পোকার উদাহরণ ডিরেক্টরিটি পরীক্ষা করুন।
asn

16

সি নবাগত হিসাবে আমি টেস্টে চালিত বিকাশ নামে স্লাইডগুলি খুব সহায়ক বলে মনে করি। মূলত, কোনও বাহ্যিক নির্ভরতা ছাড়াই, এটি বার্তা সরবরাহ করতে assert()একসাথে মান ব্যবহার করে &&। যদি কেউ পুরো স্ট্যাক টেস্টিং ফ্রেমওয়ার্কে অভ্যস্ত হয় তবে সম্ভবত এটি করবে না :)


Is_spare () ফাংশনে বাগটি দেখে আমি খুব বিরক্ত হয়েছিলাম ... তবে লিঙ্কটির জন্য ধন্যবাদ! আমার ধারণা টিডিডি সবকটি বাগ ধরেনি।
জিস বেন

এটি সি এর জন্য সর্বাধিক সহজ টিডিডি পদ্ধতি যা আপনি assertকোনও অতিরিক্ত লাইব্রেরি বা কাঠামো ছাড়াই অনুসরণ করতে পারেন । আমি মনে করি আপনি যদি কেবল নবাগত হন তবে এটি একটি সূচনা পয়েন্ট হতে পারে।
কবিরবধ্যা

16

আমরা সহজ ব্যবহারযোগ্যতা এবং বহনযোগ্যতার জন্য চিট ( গিটহাবের উপর হোস্ট করা ) লিখেছি ।

এটির কোনও নির্ভরতা নেই এবং কোনও ইনস্টলেশন বা কনফিগারেশন প্রয়োজন। কেবল একটি শিরোনাম ফাইল এবং একটি পরীক্ষার কেস প্রয়োজন।

#include <cheat.h>

CHEAT_TEST(mathematics_still_work,
    cheat_assert(2 + 2 == 4);
    cheat_assert_not(2 + 2 == 5);
)

পরীক্ষাগুলি একটি এক্সিকিউটেবলের মধ্যে সংকলন করে যা পরীক্ষা চালানো এবং তার ফলাফলগুলি প্রতিবেদন করার যত্ন নেয়।

$ gcc -I . tests.c
$ ./a.out
..
---
2 successful of 2 run
SUCCESS

এটির রঙও খুব সুন্দর।


চমত্কার কলোর (ইউ) আরএসের জন্য উপনীত করুন
মওগ জানিয়েছেন মনিকা পুনরুদ্ধার

12

নেই CUnit

এবং এম্বেড ইউনিট এম্বেডেড সি সিস্টেমের জন্য ইউনিট পরীক্ষার কাঠামো। এর নকশা JUnit এবং CUnit এবং আরও অনেক কিছু থেকে অনুলিপি করা হয়েছিল এবং তারপরে এম্বেডেড সি সিস্টেমের জন্য কিছুটা মানিয়ে নেওয়া হয়েছিল। এম্বেড ইউনিট স্ট্যান্ড সি লিব প্রয়োজন হয় না। সমস্ত অবজেক্ট কনস্টের এরিয়াতে বরাদ্দ করা হয়।

এবং টেসি এমবেডড সফ্টওয়্যারটির ইউনিট পরীক্ষার স্বয়ংক্রিয় করে তোলে


1
আমি চেষ্টা করেছিলাম embunitএবং এটি দেখে হতাশ হয়েছি।
ক্রেগ ম্যাককুইন

1
উদাহরণস্বরূপ, আমি জমা দিয়েছি এমন একটি বাগ রিপোর্ট দেখুন, পাশাপাশি আরও একটি বাগ রিপোর্ট যা 3 বছরের জন্য নিষ্ক্রিয় থাকে।
ক্রেগ ম্যাককুইন

12

আমি কোনও কাঠামো ব্যবহার করি না, আমি কেবল অটোটুলগুলি "চেক" লক্ষ্য সমর্থন ব্যবহার করি। একটি "প্রধান" প্রয়োগ করুন এবং সংস্থান (গুলি) ব্যবহার করুন।

আমার পরীক্ষা দির Makefile.am (গুলি) এর মতো দেখতে:

check_PROGRAMS = test_oe_amqp

test_oe_amqp_SOURCES = test_oe_amqp.c
test_oe_amqp_LDADD = -L$(top_builddir)/components/common -loecommon
test_oe_amqp_CFLAGS = -I$(top_srcdir)/components/common -static

TESTS = test_oe_amqp

2
আমরা অটোটুলগুলি ব্যবহার করছি না (যদিও এটি কোনও পর্যায়ে যেতে ভাল লাগবে)। .তিহাসিকভাবে, আমি পরীক্ষার উদ্দেশ্যে প্রধান পদ্ধতিটি ব্যবহার করেছি এবং এটি কোনও খারাপ সমাধান নয়।
পল ওসবার্ন

11

মাইকেল ফেদারের বই "লিগ্যাসি কোডের সাথে কার্যকরভাবে কাজ করা" বইটি সি বিকাশের সময় ইউনিট পরীক্ষার জন্য নির্দিষ্ট অনেক কৌশল উপস্থাপন করেছে।

নির্ভরতা ইনজেকশন সম্পর্কিত কৌশল রয়েছে যা সি এর সাথে নির্দিষ্ট যা আমি অন্য কোথাও দেখিনি।


7

সিপুপিস্টেস্ট - ইউনিট টেস্টিং সি কোডের জন্য উচ্চ প্রস্তাবিত কাঠামো।

এম্বেড করা সি এর জন্য এই থ্রেড টিডিডি-তে বইয়ের যে উদাহরণগুলি উল্লেখ করা হয়েছে সেগুলি সিপুপিস্টেস্ট ব্যবহার করে লেখা হয়েছে।


6

আমি এম্বেড থাকা সি / সি ++ পরিবেশের জন্য প্রাথমিকভাবে সিএক্সএক্সটিস্ট ব্যবহার করি (প্রাথমিকভাবে সি ++)।

আমি সিএক্সএক্সস্টেস্ট পছন্দ করি কারণ এটি পরীক্ষার রানার তৈরির জন্য পার্ল / পাইথন স্ক্রিপ্ট রয়েছে। এটি সেটআপ পেতে একটি ছোট opeালের পরে (আপনাকে এখনও পরীক্ষামূলকভাবে রানার লিখতে হবে না বলে ছোট), এটি ব্যবহার করা বেশ সহজ (নমুনা এবং দরকারী ডকুমেন্টেশন অন্তর্ভুক্ত)। সর্বাধিক কাজটি কোডটি অ্যাক্সেস করে 'হার্ডওয়্যার' সেট আপ করে যাতে কার্যকরভাবে ইউনিট / মডিউল পরীক্ষা করতে পারি। এর পরে নতুন ইউনিট পরীক্ষার কেস যুক্ত করা সহজ।

পূর্বে উল্লিখিত হিসাবে এটি একটি সি / সি ++ ইউনিট পরীক্ষার কাঠামো। সুতরাং আপনার একটি সি ++ সংকলক প্রয়োজন হবে।

CxxTest ইউজার গাইড CxxTest উইকি


আপনার যে সংকলনটির দরকার তা সি ++ হতে পারে তবে আপনি যে কোডটি পরীক্ষা করছেন সেটি সি হতে পারে সিএক্সএক্সটিস্ট ব্যবহারের জন্য খুব সহজ কাঠামো
ডেভিড সাইকস


5

মিনুনিট পড়ার পরে আমি ভেবেছিলাম একটি ভাল উপায় হ'ল ম্যাক্রোতে পরীক্ষার ভিত্তি যা আমি প্রতিরক্ষামূলক প্রোগ্রাম প্রযুক্তির মতো ব্যবহার করি। তাই আমি স্ট্যান্ডার্ড এ্যাসেটের সাথে মিশ্রিত মুনুনিতের একই ধারণাটি ব্যবহার করেছি। আপনি আমার কাঠামোটি দেখতে পারেন (একটি ভাল নাম নোমিনিট হতে পারে) কে0 গা ব্লগে


আমি এখন আপনার প্রকল্পে আপনার utest.h ব্যবহার করছি। সূক্ষ্ম কাজ করে এবং যথেষ্ট সহায়ক। ধন্যবাদ!
জোহান



4

গুগলের দুর্দান্ত পরীক্ষার কাঠামো রয়েছে। https://github.com/google/googletest/blob/master/googletest/docs/primer.md

এবং হ্যাঁ, আমি যতদূর দেখতে পাচ্ছি এটি সরল সি দিয়ে কাজ করবে, অর্থাৎ সি ++ বৈশিষ্ট্যগুলির প্রয়োজন নেই (অবশ্যই সি ++ সংকলক লাগবে, নিশ্চিত নয়)।


গুগলের ফ্রেমওয়ার্ক কি খাঁটি সি নিয়ে কাজ করবে? পৃষ্ঠায় তাত্ক্ষণিকভাবে নজর দেওয়া এটি একটি সি ++ ফ্রেমওয়ার্ক।
দানা

4
গুগল পরীক্ষাটি দুর্দান্ত, তবে এটি অনেকটা সি ++ ফ্রেমওয়ার্ক। এটি বেশ পোর্টেবল এবং আপনার যদি প্রয়োজন হয় তবে এটি সি পরীক্ষার জন্য ব্যবহার করা যেতে পারে।
জোশ কেলি 11:58

4

সিমোকারি একটি সম্প্রতি চালু হওয়া প্রকল্প যা ইউনিট পরীক্ষাগুলি লেখার জন্য সি লাইব্রেরিটি ব্যবহার করার জন্য খুব সাধারণ বিষয় নিয়ে গঠিত।


আপনাকে CMocka.orgএকবার দেখে নেওয়া উচিত যা কেমোকেরির উত্তরসূরি।
asn

3

প্রথমে এখানে দেখুন: http://en.wikedia.org/wiki/List_of_unit_testing_frameworks#C

আমার সংস্থার একটি সি লাইব্রেরি রয়েছে যা আমাদের গ্রাহকরা ব্যবহার করেন। আমরা কোডটি পরীক্ষা করতে CxxTest (একটি সি ++ ইউনিট পরীক্ষার লাইব্রেরি) ব্যবহার করি। সিপিউউনিটও কাজ করবে। আপনি যদি সিটিতে আটকে থাকেন তবে আমি আরসিইউনিতের পরামর্শ দেব (তবে সিউনিটও ভাল is


2

আপনি যদি JUnit এর সাথে পরিচিত হন তবে আমি সিপ্পুনিটকে সুপারিশ করি। http://cppunit.sourceforge.net/cppunit-wiki

এটি ধরে নিয়েছে যে ইউনিট পরীক্ষাগুলি করার জন্য আপনার কাছে সি ++ সংকলক রয়েছে। তা না হলে আমাকে অ্যাডাম রোজেনফিল্ডের সাথে একমত হতে হবে যে চেকটি আপনি চান তা is


6
প্রশ্নটি সি সম্পর্কে, সি ++ নয়
1800 তথ্য

3
না, তবে সি ++ সি লাইব্রেরিতে ইন্টারফেস করতে পারে। সুতরাং বাস্তবে এটি সি ++ ইউনিট পরীক্ষার কাঠামো ব্যবহার করে সি লাইব্রেরিগুলি পরীক্ষা করা পুরোপুরি ঠিক আছে। (আমার সংস্থাগুলি উপায় দ্বারা এটি খুব কাজ করে এবং এটি সি ইউনিট টেস্ট ফ্রেমওয়ার্কগুলি ব্যবহার করার চেয়ে অনেক সহজ))
কেভিন

আমি একই জিনিস করেছি। আমাদের সিতে একটি ইউটিলিটিস লাইব্রেরি রয়েছে যা আমরা আমাদের সি ++ কোড এবং স্ক্রিপ্টিং ভাষার নীচে ব্যবহার করি। আমরা পরীক্ষাগুলির জন্য CppUnit ব্যবহার করি এবং এটি বেশ ভালভাবে কাজ করছে যেহেতু আমরা সি এবং সি ++ উভয়ের জন্য একই কাঠামো ব্যবহার করতে পারি।
জায়ান

2

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


2

Lcut চেষ্টা! - http://code.google.com/p/lcut


3
কিছু ডকুমেন্টেশন সহায়ক হবে। প্রকল্পের পটভূমি এবং লক্ষ্যগুলি, বৈশিষ্ট্যগুলির তালিকা, বিদ্যমান বিকল্পগুলির তুলনায় সুবিধাদি ইত্যাদির সাহায্যে যারা প্রথমবার এটি পরীক্ষা করে দেখছেন।
ক্রেগ ম্যাককুইন

2

এপিআই স্যানিটি পরীক্ষক - সি / সি ++ লাইব্রেরির জন্য পরীক্ষার কাঠামো:

ভাগ করা সি / সি ++ লাইব্রেরির জন্য বেসিক ইউনিট পরীক্ষার একটি স্বয়ংক্রিয় জেনারেটর। এটি প্যারামিটারগুলির জন্য যুক্তিসঙ্গত (বেশিরভাগ ক্ষেত্রে, তবে দুর্ভাগ্যক্রমে সমস্ত ক্ষেত্রেই নয়) ইনপুট ডেটা উত্পন্ন করতে সক্ষম করে এবং শিরোনামে ঘোষণাগুলির বিশ্লেষণের মাধ্যমে এপিআইয়ের প্রতিটি কার্যের জন্য সহজ ("স্যানিটি" বা "অগভীর"-গুণমান) পরীক্ষার কেসগুলি রচনা করে able নথি পত্র.

উত্পন্ন পরীক্ষার গুণমান সহজ ব্যবহারের ক্ষেত্রে গুরুতর ত্রুটির অনুপস্থিতি যাচাই করতে দেয়। সরঞ্জামটি উত্পাদিত পরীক্ষাগুলি তৈরি করতে এবং সম্পাদন করতে সক্ষম এবং ক্র্যাশগুলি (সেগফাল্টস), অবসরগুলি, সমস্ত ধরণের নির্গত সংকেত, নন-শূন্য প্রোগ্রামের রিটার্ন কোড এবং প্রোগ্রাম হ্যাঙ্গিং সনাক্ত করতে সক্ষম।

উদাহরণ:


1

ব্যবহারের জন্য একটি কৌশল হ'ল সি মডিউল হিসাবে টার্গেট সিস্টেমের উত্স বজায় রেখে C ++ xUnit ফ্রেমওয়ার্ক (এবং সি ++ সংকলক) সহ ইউনিট টেস্ট কোড বিকাশ করা।

নিশ্চিত হয়ে নিন যে আপনি নিয়মিতভাবে আপনার ক্রস-সংকলকটির অধীনে আপনার সি উত্সটি সংকলন করেছেন, যদি সম্ভব হয় তবে নিজের ইউনিট পরীক্ষার সাথে স্বয়ংক্রিয়ভাবে সংকলন করুন।


1

লিবিইউতে ( http://koanlogic.com/libu ) একটি ইউনিট পরীক্ষা মডিউল রয়েছে যা সুস্পষ্ট পরীক্ষার স্যুট / কেস নির্ভরতা, পরীক্ষার বিচ্ছিন্নতা, সমান্তরাল এক্সিকিউশন এবং একটি কাস্টমাইজযোগ্য রিপোর্ট ফর্ম্যাটর (ডিফল্ট ফর্ম্যাটগুলি এক্সএমএল এবং txt) করতে দেয়।

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


1

আমি অবাক হয়েছি যে কেউই কাটারের কথা উল্লেখ করেনি (http://cutter.sourceforge.net/) আপনি সি এবং সি ++ পরীক্ষা করতে পারেন, এটি নির্বিঘ্নে অটোটুলের সাথে সংহত হয়েছে এবং এটিতে একটি দুর্দান্ত টিউটোরিয়াল উপলব্ধ রয়েছে।



0

আপনি যদি এখনও পরীক্ষার ফ্রেমওয়ার্কের সন্ধানে থাকেন তবে উইন 32 / এনটি প্ল্যাটফর্মের জন্য সিএনটিউইন 32 একটি।

এটি এমন একটি মৌলিক সমস্যার সমাধান করে যা আমি অন্যান্য টেস্টিং ফ্রেমওয়ার্কের মুখোমুখি হয়েছিল। অর্থাত্ গ্লোবাল / স্ট্যাটিক ভেরিয়েবলগুলি একটি নিয়ন্ত্রক অবস্থায় রয়েছে কারণ প্রতিটি পরীক্ষা পৃথক প্রক্রিয়া হিসাবে কার্যকর করা হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.