--bail
विकल्प का उपयोग करें। सुनिश्चित करें कि आप कम से कम मोचा 0.14.0 का उपयोग कर रहे हैं। (मैंने सफलता के बिना पुराने संस्करणों के साथ इसे आजमाया है।)
सबसे पहले, मोचा के लिए केवल एक के बाद परीक्षण समाप्त करने के लिए आपको कुछ भी करने की ज़रूरत नहीं है। इस तरह मोचा डिफ़ॉल्ट रूप से काम करता है। test.js
को यह बचाओ:
describe("test", function() {
this.timeout(5 * 1000); // Tests time out in 5 seconds.
it("first", function (done) {
console.log("first: do nothing");
done();
});
it("second", function (done) {
console.log("second is executing");
// This test will take 2.5 seconds.
setTimeout(function() {
done();
}, 2.5 * 1000);
});
it("third", function (done) {
console.log("third is executing");
// This test will time out.
});
it("fourth", function (done) {
console.log("fourth: do nothing");
done();
});
});
फिर से यह निष्पादित करें:
- पहले और दूसरे परीक्षण पूरा कर लें:
mocha -R spec test.js
आप चौथा परीक्षण प्रारंभ होने तक नहीं देख सकेंगे।
- तीसरे परीक्षण का समय समाप्त हो गया है।
अब, के साथ इसे चलाने:
mocha -R spec --bail test.js
मोचा जैसे ही परीक्षण 3 में विफल रहता है बंद हो जाएगा।
आप बस इतना कह रहे हैं कि परीक्षणों को संरचित नहीं किया जाना चाहिए जैसा कि मैंने पूछा था, जो सवाल का जवाब नहीं देता है। साथ ही, आपका कोड बस कॉल किया जाता है() जो कि मैं पूछ रहा था किसी भी तरह की निर्भरता को स्थापित करने के लिए प्रासंगिक नहीं है। मुझे लगता है कि आप वास्तव में क्या कहना चाहते हैं कि मोचा इस निर्भरता के इस रूप का समर्थन नहीं करता है। –
किसी भी तरह से प्रश्न का उत्तर नहीं देता ... जैसा कि टिम ने कहा था। हो गया इस सवाल के लिए प्रासंगिक नहीं है। – mbochynski
उत्तर बताता है कि परीक्षण सही तरीके से सेट नहीं किए गए हैं, किसी परीक्षण को वैध होने के लिए चल रहे किसी अन्य परीक्षण पर कभी भी निर्भर नहीं होना चाहिए। परीक्षण को चलाने के लिए किसी भी सेटअप को पहले ब्लॉक में चलाया जाना चाहिए, वास्तव में, यह सुनिश्चित करने के लिए यादृच्छिक क्रम में अपने परीक्षण चलाने के लिए एक अच्छा अभ्यास है कि आपके पास – kkemple