2

摩卡钩之类before(), after(), beforeEach(), afterEach()的不起作用。该only方法也不起作用。没有一个beforeEach被调用。我得到一个错误has no method 'only'。下面是代码。

describe('Array', function(){
    beforeEach(function(){
      console.log('before every test')
    })
  describe.only('#indexOf()', function(){
    beforeEach(function(){
      console.log('before every test')
    })
    it.only('should return -1 unless present', function(){
        assert.equal(1,2)
    })
    it('should return the index when present', function(){
        assert.equal(1,2);
    })
  })
})

beforeEach(function(){
  console.log('before every test')
})
4

1 回答 1

0

你的代码对我有用。您需要添加:

var assert = require('assert');

在顶部。而且,请确保您npm install -g mocha.

然后,我得到:

$ mocha -R spec temp.js


  Array
    #indexOf()
      ◦ should return -1 unless present: before every test
before every test
before every test
      1) should return -1 unless present
      ◦ should return the index when present: before every test
before every test
before every test
      2) should return the index when present


  0 passing (16ms)
  2 failing

  1) Array #indexOf() should return -1 unless present:
     AssertionError: 1 == 2
      at Context.<anonymous> (/Users/dan/Dropbox/Documents/dev/spock/temp.js:12:16)
      at Test.Runnable.run (/usr/local/share/npm/lib/node_modules/mocha/lib/runnable.js:211:32)
      at Runner.runTest (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:355:10)
      at /usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:401:12
      at next (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:281:14)
      at /usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:290:7
      at next (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:234:23)
      at /usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:253:7
      at Hook.Runnable.run (/usr/local/share/npm/lib/node_modules/mocha/lib/runnable.js:213:5)
      at next (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:246:10)
      at Object._onImmediate (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:258:5)
      at processImmediate [as _immediateCallback] (timers.js:330:15)

  2) Array #indexOf() should return the index when present:
     AssertionError: 1 == 2
      at Context.<anonymous> (/Users/dan/Dropbox/Documents/dev/spock/temp.js:15:16)
      at Test.Runnable.run (/usr/local/share/npm/lib/node_modules/mocha/lib/runnable.js:211:32)
      at Runner.runTest (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:355:10)
      at /usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:401:12
      at next (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:281:14)
      at /usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:290:7
      at next (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:234:23)
      at /usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:253:7
      at Hook.Runnable.run (/usr/local/share/npm/lib/node_modules/mocha/lib/runnable.js:213:5)
      at next (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:246:10)
      at Object._onImmediate (/usr/local/share/npm/lib/node_modules/mocha/lib/runner.js:258:5)
      at processImmediate [as _immediateCallback] (timers.js:330:15)

请注意,您it.only将被忽略,因为describe.only首先遇到的是。如果您无法复制此输出,请报告您使用的节点和 npm 版本。

于 2013-09-22T02:44:20.223 回答