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

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

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

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

1回答

2341閲覧

JestでUncovered Lineが無名関数にある場合の解決方法

tuioku

総合スコア42

Jest

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

0クリップ

投稿2021/07/14 01:46

編集2021/07/14 02:53

Jestのテストを実行した際にCoverageを100%することができないです。
exportされているsericeのmethodをテストしています。
下記の「anonymouseFunction」の「if (event === 'invalid')」が「Uncovered Line」の箇所です。

typescript

1async serviceMethod(event): Promise<string> { 2 let isInvalid = false; 3 4 const anonymouseFunction = () => { 5 if (event === 'invalid') { 6 isInvalid = true; 7 } 8 9 return isInvalid; 10 } 11 12 return anonymouseFunction(); 13}

無名関数があると、たとえ実行しても無名関数の中のifの分岐(exportもされていないため間接的にしか実行できない)のテストができずカバレッジを網羅できず100%になりません。
カバレッジを100%にするためにはどうしたらいいですか?

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

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

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

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

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

quickquip

2021/07/14 01:53 編集

「解決」をどういう意図で使っているかもっと詳しく書いた方がいいかと思いました。 何を不明と思っているのか、何に困っているのかが分かりづらいです。
guest

回答1

0

この場合どうすれば解決することができるでしょう?

コード自体が適切でない(カバレッジの問題を正しく検出できている)ので、不可能です。

内側のanonymouseFunctionは作成しただけで実行していない以上、どんなにテストをしようが、この関数内部のコードは「通らない」という結論が正しいです。


実際のコードから省略しすぎておかしくなっているのであれば、コードの修正をお願いします。

投稿2021/07/14 01:50

maisumakun

総合スコア146018

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問