実現したいこと
タイトルの通りとなりますが、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」で可能なのか、それとも別のツールが良いのか、ご教示いただけませんでしょうか。
またそのツールで、上記の例では具体的にどのようなテストコードを記載すべきか、こちらも併せてご教示いただけますと、大変助かります。
補足
特になし
回答1件
あなたの回答
tips
プレビュー