मेरे पास एक नोड.जेएस ऐप है जो परीक्षण के लिए मोचा और एक्सपेक्ट का उपयोग करता है। जब तक मैं प्रतिक्रिया के लिए वेबपैक स्थापित नहीं करता, तब तक सभी परीक्षण बढ़िया काम करते हैं। अब जब मैं "एनपीएम परीक्षण" चलाता हूं तो मुझे निम्न त्रुटि मिलती है:

Error: Cannot find module 'should'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\Brian\version-control\tysons-tech-map-redone\node_modules\watchpack\test\DirectoryWatcher.test.js:2:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at C:\Users\Brian\version-control\tysons-tech-map-redone\node_modules\mocha\lib\mocha.js:230:27
    at Array.forEach (native)
    at Mocha.loadFiles (C:\Users\Brian\version-control\tysons-tech-map-redone\node_modules\mocha\lib\mocha.js:227:14)
    at Mocha.run (C:\Users\Brian\version-control\tysons-tech-map-redone\node_modules\mocha\lib\mocha.js:495:10)
    at Object.<anonymous> (C:\Users\Brian\version-control\tysons-tech-map-redone\node_modules\mocha\bin\_mocha:469:18)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:393:7)
    at startup (bootstrap_node.js:150:9)
    at bootstrap_node.js:508:3
npm ERR! Test failed.  See above for more details.

नीचे मेरा पैकेज है।जेसन:

{
  "name": "cool-map",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node server.js",
    "test": "export NODE_ENV=test || SET \"NODE_ENV=test\" && mocha **/*.test.js",
    "test-watch": "nodemon --exec \"npm test\""
  },
  "engines": {
    "node": "6.2.2"
  },
  "license": "ISC",
  "dependencies": {
    "bcryptjs": "^2.3.0",
    "body-parser": "^1.15.2",
    "express": "^4.14.0",
    "jsonwebtoken": "^7.1.9",
    "lodash": "^4.15.0",
    "mongodb": "^2.2.5",
    "mongoose": "^4.5.9",
    "validator": "^5.6.0",
    "hbs": "^4.0.0",
    "babel-preset-stage-0": "^6.24.1",
    "express": "^4.15.2",
    "react": "^0.14.7",
    "react-dom": "^0.14.7"
  },
  "devDependencies": {
    "expect": "^1.20.2",
    "mocha": "^3.0.2",
    "nodemon": "^1.10.2",
    "supertest": "^2.0.0",
    "babel-core": "^6.5.1",
    "babel-loader": "^6.2.2",
    "babel-preset-es2015": "^6.5.0",
    "babel-preset-react": "^6.5.0",
    "webpack": "^1.12.13"
  }
}

मुझे यकीन नहीं है कि पोस्ट करने के लिए webpack.config आवश्यक है, लेकिन केवल मामले में:

module.exports = {
    entry: './app/app.jsx',
    output: {
        path: __dirname,
        filename: './public/bundle.js'
    },
    resolve: {
        root: __dirname,
        alias: {
            AdminUserTable: 'app/components/AdminUserTable.jsx'
        },
        extensions: ['', '.js', '.jsx']
    },
    module: {
        loaders: [
            {
                    loader: 'babel-loader',
                query: {
                    presets: ['react', 'es2015']
                },
                test: /\.jsx?$/,
                exclude: /(node_modules|bower_components)/
            }
        ]
    }
};

जब मैं वेबपैक अनइंस्टॉल करता हूं तो एनपीएम टेस्ट कमांड चलाना बहुत अच्छा काम करता है, मुझे यकीन नहीं है कि यह मोचा क्यों तोड़ रहा है।

1
brianalbin3 5 जुलाई 2017, 05:44

2 जवाब

सबसे बढ़िया उत्तर

आपका package.json एक निर्भरता के रूप में should गायब है।

के माध्यम से स्थापित करें;

npm install --save-dev should

साथ ही मैं आपको chai देखने की सलाह दूंगा जो मेरी राय में थोड़ा अलग एपीआई प्रदान करता है।

2
Bulkan 5 जुलाई 2017, 09:51

चाहिए एक अभिव्यंजक, पठनीय, ढांचा-अज्ञेय अभिकथन पुस्तकालय होना चाहिए। इस पुस्तकालय का मुख्य लक्ष्य अभिव्यंजक होना और सहायक होना है। यह आपके परीक्षण कोड को साफ रखता है, और आपके त्रुटि संदेश सहायक होते हैं। डिफ़ॉल्ट रूप से (जब आपको आवश्यकता होती है ('चाहिए')) ऑब्जेक्ट.प्रोटोटाइप को एक गैर-गणना योग्य गेटर के साथ विस्तारित करना चाहिए जो आपको यह व्यक्त करने की अनुमति देता है कि उस ऑब्जेक्ट को कैसे व्यवहार करना चाहिए। आवश्यकता के साथ आवश्यकता पड़ने पर यह स्वयं भी वापस आ जाता है। बिना गेटटर के should.js का उपयोग करना भी संभव है (यह ऑब्जेक्ट.प्रोटोटाइप को विस्तारित करने का प्रयास भी नहीं करेगा), बस आवश्यकता ('चाहिए/के रूप में-फ़ंक्शन')। या यदि आप पहले से ही उस संस्करण का उपयोग करते हैं जो ऑटो ऐड गेटर है, तो आप .noConflict फ़ंक्शन को कॉल कर सकते हैं। अधिकांश स्थितियों में (कुछ)। प्राप्त करने वाले और चाहिए (कुछ) के परिणाम समान होते हैं

बेहतर है कि आप नोड निर्भरता को नीचे के रूप में npm के साथ स्थापित करें

npm install --save should

चाहिए-संदर्भ

1
Ratan Uday Kumar 6 जुलाई 2017, 07:00