多言語プロジェクトで一般的な単体テストのレポート形式としてTAPを使用すると考えられる最も直接的な方法は、ディレクトリにTAP生成ユニットテストドライバを呼び出すスクリプトを書くことです。
モカは、プラグインと呼ばれるモカタップレポーターを報告し、コマンドラインからそれを呼び出すTAPを持っているだけで
mocha --reporter mocha-tap-reporter <directory>
ここでは単純なプロジェクトで物事を設定する方法の例です
.
├── node_modules
(contents of node_modules omitted)
├── package-lock.json
├── package.json
├── t
│ └── mocha.t
└── test
└── multiply.js
この場合
、multiply.js
はassert
ヘルパーを使用し、ただ一つの試験があります。
const assert = require('assert');
describe('multiply', function() {
it('1 * 0 = 0', function() {
assert.equal(1 * 0, 0);
});
});
を
mocha.t
は、ちょうどmocha --reporter mocha-tap-reporter test
のシェルラッパーです。
#!/bin/bash
# change directory to folder containing source file
cd "$(dirname "${BASH_SOURCE[0]}")"
# go to project root
cd ..
# invoke mocha test runner with tap reporter
./node_modules/.bin/mocha \
--reporter mocha-tap-reporter \
test
そして、あなたは、プロジェクトのルートからprove
を実行した場合、その後、あなたはこれを参照してくださいよ:
、
mocha-tap-reporter
プラグインは3年程度とルックスに更新されていない言われていること
% prove
t/mocha.t .. ok
All tests successful.
Files=1, Tests=1, 0 wallclock secs (0.02 usr 0.01 sys + 0.23 cusr 0.08 csys = 0.34 CPU)
Result: PASS
少し維持されません。私はこれがPerlコミュニティ以外のTAPライブラリの一般的な状況だと考えていますが(OCamlプロジェクトではこれをしばらく使っています)。
'prove'はPerlに偏っていますが、根本的に言語に依存しません。 '.t'ファイルは、必ずしもPerlスクリプトではなくTAPを出力する任意の実行可能ファイルです。私のお気に入りのテクニックの1つは、YAMLドキュメントを.tファイルとして使用してテストケースを作成し、テストケースを実行するために '#!/ usr/bin/env/env/run-yaml-test'のようなシバンを使用することです。 – amon