あいつの日誌β

働きながら旅しています。

Node.js で assert 書いてたら expected と actual 逆だよと言われたのでアレってなった話

Just do it

mkdir practice-assert && cd $_
npm init --yes
npm install assert mocha --save
mkdir test
cat << EOS > test/test_assert.js
'use strict';

const assert = require('assert');

describe('Mocha', () => {
  it('should be success', () =>{ 
    const expected = {a: "expected"}; 
    const actual = {a: "actual"};
    assert.deepEqual(actual, expected);
  }); 
});
EOS

実行結果

% $(npm bin)/mocha


  Mocha
    1) should be success


  0 passing (26ms)
  1 failing

  1) Mocha should be success:

      AssertionError: { a: 'actual' } deepEqual { a: 'expected' }
      + expected - actual

       {
      -  "a": "actual"
      +  "a": "expected"
       }
      
      at Context.<anonymous> (test/test_assert.js:9:12)

他の言語だと expected, actual の場合が多いと思いますが、Node.js では actual, expected と書きます。

まとめ

いずれにしろテストがこけるからどっちでも良い気もしなくはないですが、あべこべで書くとテスト結果が見づらくなるので Node.js で assert 書くときは諸卿らも気をつけられよ。

SEE ALSO

https://nodejs.org/api/assert.html