কিছুটা শ্বাসরুদ্ধকর এটি মৌলিক কার্যকারিতা নয়
আপনি এটির মতো একটি কাস্টম ম্যাচার যুক্ত করতে পারেন:
জেসমিন এক্সটেনশনস.জেএস
yourGlobal.addExtraMatchers = function () {
var addMatcher = function (name, func) {
func.name = name;
jasmine.matchers[name] = func;
};
addMatcher("toBeGreaterThanOrEqualTo", function () {
return {
compare: function (actual, expected) {
return {
pass: actual >= expected
};
}
};
}
);
};
বাস্তবে আপনি আপনার ম্যাচারের জন্য একজন নির্ধারককে সংজ্ঞায়িত করছেন - এটি এমন একটি ফাংশন যা কোনও ম্যাচারের অবজেক্টকে ফিরিয়ে দেয়।
আপনি 'বুট' করার আগে এটি অন্তর্ভুক্ত করুন। বেসিক ম্যাথারগুলি বুট করার সময় লোড হয়।
আপনার এইচটিএমএল ফাইলটি দেখতে এমন হওয়া উচিত:
<!-- jasmine test framework-->
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script>
<!-- custom matchers -->
<script type="text/javascript" src="Tests/JasmineExtensions.js"></script>
<!-- initialisation-->
<script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script>
তারপরে আপনার বুট.জেজে জুঁই সংজ্ঞায়িত হওয়ার পরে কিন্তু জুঁই.জেটইএনভি () এর আগে ম্যাচার যুক্ত করার জন্য কলটি যুক্ত করুন। Get env আসলে একটি সেটআপ কল (সামান্য বিভ্রান্তিকরভাবে নাম দেওয়া)।
ম্যাচকারীরা এনভ কনস্ট্রাক্টরে সেটআপকোরম্যাচার্সের কলটিতে সেটআপ পান।
window.jasmine = jasmineRequire.core(jasmineRequire);
yourGlobal.addExtraMatchers();
jasmineRequire.html(jasmine);
var env = jasmine.getEnv();
তারা নমুনা পরীক্ষায় কাস্টম matchers যোগ করার অন্য উপায় দেন, তবে এটার কাজের ধরনে একটি ব্যবহার প্রতিটি পরীক্ষার আগে মিলকারীর (গুলি) পুনঃ হয় beforeEach
। এটি বেশ ভয়ঙ্কর বলে মনে হচ্ছে তাই আমি ভেবেছিলাম পরিবর্তে এই পদ্ধতির সাথে যাব।