-
-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mochaをnode:test
に変更する
#1737
mochaをnode:test
に変更する
#1737
Conversation
✅ Deploy Preview for js-primer ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
関連しそうなので一応 cc @yossydev @jp-knj @SotaYamaguchi |
この記述により、`npm test`コマンドを実行すると、`mocha`コマンドで`test/`ディレクトリにあるテストファイルを実行します。 | ||
試しに`npm test`コマンドを実行し、Mochaによるテストが行われることを確認しましょう。 | ||
まだテストファイルを作っていないので、`Error: No test files found`というエラーが表示されます。 | ||
この記述により、`npm test`コマンドを実行すると、`node --test`で`test/`ディレクトリにあるテストファイルを実行します。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://nodejs.org/api/test.html#running-tests-from-the-command-line
node --test
もデフォルトで test/**
見るんですね。
コマンドからtest/
を省く場合は、デフォルトで test/
を探索する的な説明があった方がいい気はしますね(自明ではないので、mochaの場合は意図的にtest/を入れていたんだと思います)
まだテストファイルを作っていないので、`Error: No test files found`というエラーが表示されます。 | ||
この記述により、`npm test`コマンドを実行すると、`node --test`で`test/`ディレクトリにあるテストファイルを実行します。 | ||
試しに`npm test`コマンドを実行し、テストが行われることを確認しましょう。 | ||
まだテストファイルを作っていないので、テストが何も走らず正常終了します。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
テストが何も走らず正常終了します。
Mochaと違って正常終了なんですね。
"テストが何も走らず"というのが、node --test
自体が何も動いてないように見えるので、
0個のテストが実行されて正常終了 という感じの言い方の方もありかな。
- 実行するテストがないため正常終了します
- 0個のテストが実行されて正常終了します
- テストを実行した結果は0件となり正常終了します
$ node --test
ℹ tests 0
ℹ suites 0
ℹ pass 0
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 27.760042
$ echo $?
0
``` | ||
|
||
## ユニットテストを記述する {#write-unit-test} | ||
|
||
テストの実行環境ができたので、実際にユニットテストを記述します。 | ||
Mochaのユニットテストは`test`ディレクトリの中にJavaScriptファイルを配置して記述します。 | ||
Node.jsのユニットテストは`test`ディレクトリの中にJavaScriptファイルを配置して記述します。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Node.jsのユニットテスト"というと広いので、 node:test
でのユニットテスト な気はするので、
[testモジュール][]でのユニットテストは
test
ディレクトリの中にJavaScriptファイルを配置して記述します。
とかなのかなとは思います。
test
ディレクトリを探索するのはTest Runnerなので、ちょっと言い方が難しいですが…
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確かに言い方が難しいですね……。
こちらについては言い方を考えてみます! ご指摘ありがとうございます!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@azu
こちらについて書き方を考えていたのですが、句末に4回記述します。
が続いているのが気になったため、以下のように修正するのはいかがでしょうか?
記述する際には、
test
ディレクトリの中にJavaScriptファイルを配置します。
全体的にはこういった修正を考えております。
テストの実行環境ができたので、実際にユニットテストを記述します。
- Node.jsのユニットテストは`test`ディレクトリの中にJavaScriptファイルを配置して記述します。
+ 記述する際には、`test`ディレクトリの中にJavaScriptファイルを配置します。
`test/md2html-test.js`ファイルを作成し、`md2html.js`に対するユニットテストを次のように記述します。
- `test`関数は第一引数にテストのタイトルを入れ、第二引数にテストの内容を記述します。
+ `test`関数は第一引数にテストのタイトルを入れ、第二引数にテストの内容を入れます。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
良いと思います
`test`関数は第一引数にテストのタイトルを入れ、第二引数にテストの内容を書きます。
入れるだと枠っぽいので、実際には自由記述なので、書くや記述が良いかなと思います
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
なるほど、ありがとうございます! 書くで修正させていただきます!
|
||
ユニットテストを実行するには、Mochaが提供する`mocha`コマンドを使います。 | ||
Mochaをインストールした後、`package.json`の`scripts`プロパティを次のように記述します。 | ||
ユニットテストを実行するには、Node.jsが提供する`node`コマンドに`--test`オプションを付与して使います。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ユニットテストを実行するには、Node.jsが提供する`node`コマンドに`--test`オプションを付与して使います。 | |
ユニットテストを実行するには、Node.jsが提供する`node`コマンドを`--test`オプションを付与して実行します。 |
「使います」の対象がわかりにくかったので「nodeコマンドを実行する」を軸にしてみましたが、「を」お連続がこれはこれで気持ち悪いですね
ユニットテストを実行するには、Node.jsが提供する`node`コマンドに`--test`オプションを付与して使います。 | |
ユニットテストを実行するには、Node.jsが提供する`node`コマンドの`--test`オプションを使います。 |
このほうがいいかも?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
レビューありがとうございます!
私としても下のほうが読みやすいと感じるので、そちらで修正させていただきます!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
他はLGTMです
残り
- コードの変更
- 依存の変更
|
||
$ echo $? | ||
0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ここは省略していいかなと思います。
$ echo $? | |
0 |
Windowsでは動かないため。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windowsを失念しておりました! ご指摘ありがとうございます!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@azu
ご指摘の点を修正しました!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTMです
先にコードと依存の変更までやってマージしちゃっていい気がしてきました |
@azu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ありがとうございます!
LGTM
* mochaを`node:test`に変更する (#1737) * fix(nodecli): ユニットテストのMochaをnode:testに変更 * fix(nodecli): Mochaのリンクを削除 * fix(nodecli): 修正箇所の言い回しを訂正 * fix(nodecli): Windowsで動作しないサンプルコードを削除 * fix(nodecli): refactor-and-unittestからMochaを削除 * fix(nodecli): commanderパッケージ を `node:util` の `parseArg` に変更 (#1757) * fix(nodecli): commanderをコードから削除 * refactor: commanderのインストールを削除、セットアップセクションを追加 * fix: commanderをparseArgに置き換える * fix * fix * fix: main-3.jsは利用しな苦なった * fix * fix * fix * fix order * fix: node:fsに統一 * `node:`をコラムに移動 * fix * fix * fix * fix * fix * remove empty line * fix * fix * npm link * link * fix * fix * fix * シンプルに * 標準モジュールはインストールが不要なことを明記 * fix --------- Co-authored-by: WhyK <[email protected]>
ref: #1717
これはテキスト修正のみの対応になります。
実装側の修正については、#1698 が終わり次第着手する予定です。
修正内容としては、表題の通りMochaから
node:test
への変更になります。変更に際し、以下を考慮しました。
describe
/it
も実装されていましたが、Node.js公式ドキュメントではtest
が主流とされていたため、そちらに寄せましたnode --test test/
だとmacOS上でエラーとなるため、デフォルトでtest
フォルダが指定されていることも加味してnode --test
としましたUsers/laco/nodecli/
に統一していますPreview