এই প্রশ্নের অনেকগুলি নকল রয়েছে, যা চায়ের দৃser়তা গ্রন্থাগারের উল্লেখ না করে এমন প্রশ্ন সহ। এখানে একত্রে সংগ্রহ করা বেসিকগুলি:
দৃ immediately়তার সাথে অবিলম্বে মূল্যায়ন পরিবর্তে ফাংশনটি কল করা উচিত।
assert.throws(x.y.z);
// FAIL. x.y.z throws an exception, which immediately exits the
// enclosing block, so assert.throw() not called.
assert.throws(()=>x.y.z);
// assert.throw() is called with a function, which only throws
// when assert.throw executes the function.
assert.throws(function () { x.y.z });
// if you cannot use ES6 at work
function badReference() { x.y.z }; assert.throws(badReference);
// for the verbose
assert.throws(()=>model.get(z));
// the specific example given.
homegrownAssertThrows(model.get, z);
// a style common in Python, but not in JavaScript
যে কোনও দৃser় পাঠাগার ব্যবহার করে আপনি নির্দিষ্ট ত্রুটিগুলি পরীক্ষা করতে পারেন:
নোড
assert.throws(() => x.y.z);
assert.throws(() => x.y.z, ReferenceError);
assert.throws(() => x.y.z, ReferenceError, /is not defined/);
assert.throws(() => x.y.z, /is not defined/);
assert.doesNotThrow(() => 42);
assert.throws(() => x.y.z, Error);
assert.throws(() => model.get.z, /Property does not exist in model schema./)
উচিত
should.throws(() => x.y.z);
should.throws(() => x.y.z, ReferenceError);
should.throws(() => x.y.z, ReferenceError, /is not defined/);
should.throws(() => x.y.z, /is not defined/);
should.doesNotThrow(() => 42);
should.throws(() => x.y.z, Error);
should.throws(() => model.get.z, /Property does not exist in model schema./)
চই আশা
expect(() => x.y.z).to.throw();
expect(() => x.y.z).to.throw(ReferenceError);
expect(() => x.y.z).to.throw(ReferenceError, /is not defined/);
expect(() => x.y.z).to.throw(/is not defined/);
expect(() => 42).not.to.throw();
expect(() => x.y.z).to.throw(Error);
expect(() => model.get.z).to.throw(/Property does not exist in model schema./);
আপনাকে অবশ্যই ব্যতিক্রমগুলি পরিচালনা করতে হবে যা পরীক্ষাটি 'পালাতে' পারে
it('should handle escaped errors', function () {
try {
expect(() => x.y.z).not.to.throw(RangeError);
} catch (err) {
expect(err).to.be.a(ReferenceError);
}
});
এটি প্রথমে বিভ্রান্ত দেখতে পারে। বাইক চালানোর মতো, একবার ক্লিক করলে এটি চিরতরে 'ক্লিক' করে।
model
উদাহরণস্বরূপ গেট নামক একটি ফাংশন রয়েছে যা আমি প্রত্যাশায় পাস / পাস করেছি।