2017-06-19 18 views
0

私はチームと協力しており、常にconsole.logdebuggerまたはbinding.pry(Ruby)をコードに入れています。これのための単体テストを書くつもりのための適切な戦略は何ですか?私たちは現在ユニットテストを行っていません(わかりました、それはばかげています)。これは、私たちが誤ってconsole.logbinding.pryをプロダクションに押し込んでいるためです。コードにデバッガがあるかどうかテストするにはどうすればよいですか?

+1

binding.pry AirBnBスタイルガイドのようなものを使用している場合や、手動で設定する場合は、eslintはconsole.logsにフラグを立てる必要があります。それ以外の場合は、git pre-commitフックなどが必要になります。 –

+1

これを避けるためのヒント:Chromeのような最新のブラウザでは、ソースタブをクリックすることでdevtoolsにデバッガが組み込まれていますが、頭を傷つけたり、少なくとも現在のコンテキストにある限り、コード内の異なる表現をハイライトすることができます。 –

+0

@DaveNewton、私はAirBnBスタイルのガイドが大好きです。それを実装していない。 – dsomel21

答えて

0

おそらく2つの異なる質問を言語ごとに作成する必要があります。 JavaScriptが

、あなたは空の関数にconsole.logを定義することによって、短絡console.logことができます。

console.log =() => {}; // ES6 
console.log = function() {}; // ES5 

最適なルートはしかし、意図せずconsole.logでコミットを避けることであろう。これを行う最も簡単な方法は、ESLintのようなものを使用して、コンソール呼び出しにフラグを付けるルールがあることを確認することです。

lintが合格しなかった場合、Git(または他のリポジトリと同等のもの)のpre-push(またはpre-commit)トリガを失敗させることができます。

私はRubyをよく知っているわけではありませんが、私が言及したすべてのものと等価です。とにかくあなたの仕様を破ることになります。

関連する問題