質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Jest

Jestは、JavaScriptのテストフレームワークです。設定が不要で、高速且つ安全にテストを開始できます。コードカバレッジを生成できる他、テストスコープ外のオブジェクトを容易にモック化できるなど、豊富な機能によりテストの導入を簡単にします。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

テスト駆動開発

テスト駆動開発は、 プログラム開発手法の一種で、 プログラムに必要な各機能をテストとして書き、 そのテストが動作する必要最低限な実装を行い コードを洗練させる、といったサイクルを繰り返す手法の事です。

Q&A

解決済

2回答

108閲覧

Node.jsコマンドラインのプログラムで自動テストを実行したい

tetakaha759

総合スコア22

Jest

Jestは、JavaScriptのテストフレームワークです。設定が不要で、高速且つ安全にテストを開始できます。コードカバレッジを生成できる他、テストスコープ外のオブジェクトを容易にモック化できるなど、豊富な機能によりテストの導入を簡単にします。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

テスト駆動開発

テスト駆動開発は、 プログラム開発手法の一種で、 プログラムに必要な各機能をテストとして書き、 そのテストが動作する必要最低限な実装を行い コードを洗練させる、といったサイクルを繰り返す手法の事です。

0グッド

0クリップ

投稿2024/11/06 02:30

実現したいこと

タイトルの通りとなりますが、Node.jsで作成したコマンドラインのプログラム(出力はJSONなど)で、自動テストを実行したいと考えております。

発生している問題・分からないこと

自動テストに関する知識もスキルもほぼ無いので、Googleで検索すると「jest」を使う例がいくつか見つかりました。

ただ、その中の例では、「1 + 2 の出力が 3 になる」といった、出力が単純な文字列なものばかりでした。

テストしたいプログラムの出力は「JSON」や「複数行に渡る文字列」になるので、そのようなテストでも「jest」が使用できるのか、はたまた別のツールを使うべきなのか思いあぐねております。

該当のソースコード

Node.js

1#テストしたいプログラムおよびその引数 2$ list-stacks.js --stackName TEST-04-2024 -p 3 4#プログラムの出力結果 5事前チェックを開始します: スタック名 「TEST-04-2024」 6Code005 : 事前チェックに成功しました。 7 8stackInfo : 9{ 10 StackName: 'TEST-04-2024', 11 CreationTime: '2024-05-04 11:42:32', 12 StartDate: '2024-05-07', 13 EndDate: '2025-03-31', 14 StartupTime: '08:00', 15 ShutdownTime: '22:30', 16 StackStatus: 'UPDATE_COMPLETE' 17} 18Code000 : プログラムが終了しました。 19 20#この出力結果から、「StartDate」が「2024-05-07」、「EndDate」が「2025-03-31」となっているのをテストしたい

Node.js

1#テストしたいプログラムおよびその引数 2$ list-stacks.js --help 3 4#プログラムの出力結果 5Usage: list-stacks [options] 6 7Options: 8 --stackName <スタック名> 9 -p, --preCheck 事前チェックとして実行 10 -h, --help display help for command 11 12#この出力結果から、「--preCheck」が含まれていることをテストしたい

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

「該当のソースコード」に貼り付けたコマンド、およびその出力結果をテストできるツールが「jest」で可能なのか、それとも別のツールが良いのか、ご教示いただけませんでしょうか。

またそのツールで、上記の例では具体的にどのようなテストコードを記載すべきか、こちらも併せてご教示いただけますと、大変助かります。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2024/11/06 06:44 編集

jestの公式サイト(あるいはそれに近いもの)で、機能性を調べてみたりはしましたでしょうか?
guest

回答1

0

ベストアンサー

vitestを利用したほうが良いというツイートを目にしたので情報提供として書いておきます
https://x.com/koh110/status/1850876159753625885

投稿2024/11/06 03:35

seitai

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tetakaha759

2024/11/08 06:45

回答ありがとうございます。 ベストアンサーとして、こちらの回答が非常に参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問