私は単体テストの初心者ですが、私はいくつかのベストプラクティスアドバイスを受けています。私はXcodeを使ってCocoaでコーディングしています。単体テスト用の外部データファイル
ユーザーが入力するURLを検証する方法があります。 http://プロトコルのみを受け入れ、有効な文字を持つURLだけを受け入れるようにしたい。
これについて1つのテストを行い、テストデータファイルを使用することは可能ですか?データファイルには、有効な/無効なURLの例と、URLが検証されるかどうかが示されます。私はまた、これを使用して、エラーメッセージの説明とドメインを確認します。
私はこの
をやっているのはなぜJUnitを用いたJavaで実用的なユニットテストを読んで、これは私は、これはOKだと思います外部データファイル、との例を示します。さらに、異なるデータをテストするために非常に似たコードで単体テストをたくさん書く必要はありません。
しかし一方で...
私はのためにテストしていた場合:
- 無効な文字
- と無効なプロトコル
- と有効なURLは、
はすべて同じテストデータファイルにあります(したがって同じテストで)、後で問題が発生しますか?私は1つのテストが1つの理由で失敗するだけであることを読んだ。
私は何をしていますか?
ユニットテストで他の人がテストデータを使用するにはどうしたらいいですか?
聖なる牛。それは信じられないほど役に立つ。これはちょうど私が後にしたアドバイスの一種です。私は外部ファイルに私の検証データの多くを奇妙に書くように感じましたが、なぜ私の指を置くことはできませんでした。あなたの答えは私の悪い思いを釘付けにします。保守性とスピードが悪いです。サンプルコードは、自分のコードの出発点としても非常に役立ちます。 ありがとうございます。それは素晴らしいです。 –