"ReferenceError : expect is not defined"오류 메시지를 어떻게 해결할 수 있습니까?
mocha로 Javascript를 테스트하려고합니다. 이 코드 스 니펫이 있습니다.
describe('Array', function() {
describe('indexOf()', function() {
it("dovrebbe tornare -1 quando l'elemento non è presente", function() {
expect([1,2,3].indexOf(4)).to.equal(-1)
})
})
})
및 test/array.js
파일. 모카와 함께 설치되었습니다
$ npm install -g mocha
내가 달릴 때
$ mocha
이 오류가 발생합니다.
$ mocha
․
0 passing (5ms)
1 failing
1) Array indexOf() dovrebbe tornare -1 quando l'elemento non è presente:
ReferenceError: expect is not defined
at Context.<anonymous> (/Users/simonegentili/Desktop/Javascipt Best Practice/test/array.js:4:4)
at Test.Runnable.run (/usr/local/lib/node_modules/mocha/lib/runnable.js:211:32)
at Runner.runTest (/usr/local/lib/node_modules/mocha/lib/runner.js:358:10)
at /usr/local/lib/node_modules/mocha/lib/runner.js:404:12
at next (/usr/local/lib/node_modules/mocha/lib/runner.js:284:14)
at /usr/local/lib/node_modules/mocha/lib/runner.js:293:7
at next (/usr/local/lib/node_modules/mocha/lib/runner.js:237:23)
at Object._onImmediate (/usr/local/lib/node_modules/mocha/lib/runner.js:261:5)
at processImmediate [as _immediateCallback] (timers.js:317:15)
Mocha는 테스트 프레임 워크입니다. https://mochajs.org/#assertions 상태에 따라 자체 어설 션 라이브러리를 제공해야합니다 . 따라서 expect
정의하지 않았기 때문에 실제로 정의되지 않았습니다.
(나는 차이를 추천합니다 )
npm install chai
그때
(실제로 차이가 필요하다고 지적한 Amit Choukroune의 의견 참조)
그때
var expect = chai.expect;
시험
먼저 터미널에서
npm install expect.js
그리고 귀하의 코드에서 :
var expect = require('expect');
let chai = require('chai');
var assert = chai.assert;
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
assert.equal(-1, [1, 2, 3].indexOf(4));
});
});
});
다른 게시물에서 제안한대로 Chai를 설치 한 후 es6 구문을 사용하여 가져 오기를 맨 위에 놓아야합니다.
import {expect} from 'Chai';
Mocha for TDD를 사용하는 경우 Expect.js 또는 Chai.js 설치
그래서, npm install expect
또는npm install chai
In my use case, I was running a mocha spec through karma
. The solution was to install the karma integrations for my test framework libs:
npm install karma-mocha --save-dev
npm install karma-sinon-chai --save-dev
...and also to add the frameworks to my karma.conf.js
:
module.exports = function(config) {
config.set({
browsers: ['Chrome'],
frameworks: ['mocha', 'sinon-chai'],
files: [
'.tmp/**/*.spec.js'
],
client: {
chai: {
includeStack: true
},
mocha: {
reporter: 'html',
ui: 'bdd'
}
}
})
}
Hope this helps someone else.
Either add this script tag in html file
<script src="https://unpkg.com/expect@%3C21/umd/expect.min.js"></script>
or install package
npm install chai or expect
In order to expose expect
globally, while using chai
, following should be loaded by means of configuration for your prefered testing library:
require('chai/register-assert'); // Using Assert style
require('chai/register-expect'); // Using Expect style
require('chai/register-should'); // Using Should style
For example:
npx mocha --config .mocharc.js *.spec.js
ReferenceURL : https://stackoverflow.com/questions/19191384/how-can-i-solve-referenceerror-expect-is-not-defined-error-message
'programing' 카테고리의 다른 글
API 백엔드에서 AWS Cognito의 JWT를 확인하는 방법은 무엇입니까? (0) | 2021.01.15 |
---|---|
Dependency-reduced-pom.xml을 기본 디렉토리에 추가하는 Maven Shade 플러그인 (0) | 2021.01.14 |
`struct X typedef`와`typedef struct X`의 의미는 무엇입니까? (0) | 2021.01.14 |
예외 발생 : "제약에 대해 준비되지 않은보기 계층 구조로 레이아웃을 설정할 수 없음" (0) | 2021.01.14 |
AngularJS Core 대 Angular JS Nuget 패키지? (0) | 2021.01.14 |