2016-11-29 5 views
1

nodejsreactを使用して趣味としてウェブアプリを作成しています。
私はいくつかのユーティリティ機能を使用するファイルを持っています。たとえば、fooです。インポート機能を検証する方法は?

他のファイルでこの関数を使用した後、エクスポートを変更してオブジェクト内の関数をラップすることを決めました(Util.fooなど)。

インポートステートメントをfunctionではなくobjectに変更するのを忘れていたので、Util.foo()ではなくfoo()を呼び出していました。

私のwebpackビルドでそれをキャッチすることはできませんでしたし、私の単体テストでも、コードを実行して適切な機能を実行しているときにしか覚えていませんでした。

私の質問は、どうすればこのような将来の間違いを避けることができますか?この問題のリファクタリングツール以外のツールはありますか?

ところで、私はAtom IDEを使用しています。

+0

Typescriptはこれらの問題を回避する助けになります –

答えて

1

コードのこの部分が完全にカバーされている場合、これはユニットテストで検出されたはずです。

存在しない関数を呼び出すと、undefined is not a functionの行にエラーが発生し、テストケースが失敗するはずです。

このような問題を回避するには、テストカバレッジが使い尽くされていることを確認してください。 Istanbulのようなテストカバレッジツールは、改善のための領域を決定するのに役立ちます。

+0

OK私は 'istanbul'を見ますが、私が書いた単体テストでは' Util'が正しくインポートされています。 'foo'を使用する関数は、引数としてfooの値を使用する第三者の関数であるため、単体テストはありません。私は統合テストだけでそれを捕まえることができた。しかし、プログラムを実行する前にそれらのタイプミスをキャッチする方法はありますか?コンパイラのようなこれらの問題を検証する何か? – itaied

関連する問題