पर एक नजर डालें आशावादी Substack द्वारा मॉड्यूल और nconf Flatiron से। मेरे बहुत सारे परीक्षण बाहरी मापदंडों पर निर्भर करते हैं और आशावादी और nconf मॉड्यूल एक json फ़ाइल से कॉन्फ़िगरेशन विकल्प लोड करना आसान बनाता है
अपने परीक्षण कमांड में config.json फ़ाइल का पथ पास करें
परीक्षण आदेश
mocha test/api-test.js --config=/path/to/config.json --reporter spec
api-test.js
var path = require('path')
var fs = require('fs')
var assert = require('assert')
var argv = require('optimist').demand('config').argv
var configFilePath = argv.config
assert.ok(fs.existsSync(configFilePath), 'config file not found at path: ' + configFilePath)
var config = require('nconf').env().argv().file({file: configFilePath})
var apiConfig = config.get('api')
var apiKey = apiConfig.key
config.json
{
"api": {
"key": "fooKey",
"host": "example.com",
"port": 9000
}
}
विकल्प
एक और पैटर्न जो मैं हाल ही में उपयोग कर रहा हूं वह है कॉन्फ़िगर मॉड्यूल। आप ./config/default.yml
नियमित रूप से चलाने के लिए एक ./config/test.yml
फ़ाइल और परीक्षणों के लिए एक फ़ाइल निर्दिष्ट कर सकते हैं ।
अपना परीक्षण सूट चलाते समय, NODE_ENV = परीक्षण निर्यात करें और कॉन्फ़िगरेशन मॉड्यूल लोड होगा test.yml
आपके कोड में कॉन्फ़िगरेशन ऑब्जेक्ट को एक्सेस करना आसान है
var config = require('config')
var apiKey = config.api.key
NODE_ENV = परीक्षण सेट करने का एक आसान तरीका है अपने परीक्षण को मेकफाइल के साथ चलाना। के माध्यम से अपने सभी परीक्षण चलाएं make test
। एकल परीक्षण निष्पादित करने के लिएmake one NAME=test/unit/sample-test.js
नमूना मेकफाइल
MOCHA?=node_modules/.bin/mocha
REPORTER?=spec
GROWL?=--growl
FLAGS=$(GROWL) --reporter $(REPORTER) --colors --bail
test:
@NODE_ENV="test" \
$(MOCHA) $(shell find test -name "*-test.js") $(FLAGS)
one:
@NODE_ENV="test" \
$(MOCHA) $(NAME) $(FLAGS)
unit:
@NODE_ENV="test" \
$(MOCHA) $(shell find test/unit -name "*-test.js") $(FLAGS)
integration:
@NODE_ENV="test" \
$(MOCHA) $(shell find test/integration -name "*-test.js") $(FLAGS)
acceptance:
@NODE_ENV="test" \
$(MOCHA) $(shell find test/acceptance -name "*-test.js") $(FLAGS)
.PHONY: test
env KEY1=YOUR_KEY1 KEY2=YOUR_KEY2 mocha test