ΠΡΠΈΠ²Π΅Ρ, Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ ΠΈ ΠΌΠΎΠΊΠΊΠΎ / ΡΠ°Π΅ Π² ΡΠ΅Π»ΠΎΠΌ. Π― ΠΏΡΡΠ°ΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (Windows 8) Π½Π° ΡΠ²ΠΎΠ΅ΠΌ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ (Windows 10) ΠΈ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ):
C: \ dev \ bookapi \ mocha-api-test> tsc
node_modules/@types/chai/index.d.ts (1244,15): ΠΎΡΠΈΠ±ΠΊΠ° TS2451: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π»ΠΎΠΊΠ° 'chai'.
test / get-books-200ok.test.ts (24,5): ΠΎΡΠΈΠ±ΠΊΠ° TS2451: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ chai Ρ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π»ΠΎΠΊΠ°.
ΠΡΠΎ ΠΌΠΎΠΉ package.json:
{
"name": "mocha-api-test",
"Π²Π΅ΡΡΠΈΡ": "1.0.0",
"ΡΠ°ΡΡΠ½ΡΠΉ": ΠΏΡΠ°Π²Π΄Π°,
"description": "BookAPI",
"scripts": {
"test": "mocha --reporter mocha-junit-reporter -r ts-node / register test / * / .test.ts"
},
"Π»ΠΈΡΠ΅Π½Π·ΠΈΡ": "ISC",
"dependencies": {
"@ types / chai": "^ 3.4.35",
"@ types / chai-http": "0.0.30",
"@ types / chai-json-schema": "^ 1.4.2",
"@ types / mocha": "^ 2.2.39",
"@ types / node": "^ 7.0.5",
"chai": "^ 3.5.0",
"chai-http": "^ 3.0.0",
"chai-json-schema": "^ 1.4.0",
"ΠΌΠΎΠΊΠΊΠΎ": "^ 3.2.0",
"ΠΌΠΎΠΊΠΊΠΎ-ΡΠ½ΠΈΡ-ΡΠ΅ΠΏΠΎΡΡΠ΅Ρ": "^ 1.13.0",
"ts-node": "^ 3.1.0",
"ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ": "^ 2.4.1"
}
}
ΠΈ ΡΡΠΎ tsconfig.ts:
{
"compilerOptions": {
"ΠΌΠΎΠ΄ΡΠ»Ρ": "commonjs",
"target": "es6",
"noImplicitAny": Π»ΠΎΠΆΡ,
"sourceMap": Π»ΠΎΠΆΡ,
"outDir": "./build",
"typeRoots": [
"node_modules / @ ΡΠΈΠΏΡ"
],
"ΡΠΈΠΏΡ": [
"ΠΌΠΎΠΊΠΊΠΎ",
"ΡΠ·Π΅Π»",
"ΡΠ°ΠΉ",
"ΡΠ°ΠΉ-http",
"chai-json-schema"
]
},
"ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ": [
"node_modules",
"ΡΡΡΠΎΠΈΡΡ"
]
}
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π»ΡΠ±ΡΡ ΠΏΠΎΠΌΠΎΡΡ
Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½Π°ΡΠ΅Π» ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ .. ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡΡΡΡ
Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ?
ΠΡΠ»ΠΈ Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π΅ΡΡΡ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΄Π²Π°ΠΆΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ts-node
Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ( mocha -r ts-node/register
) ΠΈ Π² mocha.opts
( --require ts-node/register
).