ユニットテストAPIの開発
-
14-10-2019 - |
質問
こんにちは、私は市場で利用可能なツールを使用してユニットテストを探索するタスクを割り当てられました。私の質問は、ユニットテストのケースを書くのに役立つAPIをどのように書くことができるかです。例Nunitを使用して、このようなものを書いて、特定の場所にファイルが存在するかどうかを確認できます。
<Test()> _
Public Sub CheckOutputFileInfo()
ReportPath = "D:temp\test.txt"
Dim result As Boolean
result = File.Exists(ReportPath)
Assert.IsTrue(result)
End Sub
これは最良の例ではないことを理解していますが、私の質問は、他の開発者/テスターがヌニットについて学ぶことなくテストケースを書くことができるように、ヌニットを組み込み、APIを開発する方法です。参考までに、私はこれが私の最初のショットになるAPIを書いたことがありません。どこから始めるべきかについての推奨事項はありますか?ありがとう
解決
あなたの例は、ファイルシステムに当たったため、厳密に単位テストではありません。
テストは、次の場合の単体テストではありません。
- データベースに話しかけます
- ネットワーク全体で通信します
- ファイルシステムに触れます
- 他のユニットテストと同時に実行できません
- 実行するには、環境(設定ファイルの編集など)に対して特別なことをする必要があります。
開発者にユニットテストを開始させようとする前に、ユニットテストのベストプラクティスとパターンを学ぶことをお勧めします。経験から、誰かが自分で完全に把握しているユニットテストを擁護する必要があります。長期的には多くの頭痛を節約できます。
これがあなたを始めるための素晴らしい本です:
他のヒント
開発者にヌニットを使用させるほうがよいと思います。すでにうまく設計されており、柔軟です。開発者の生活を容易にしたい場合は、多くの異なるテストで必要な構成でテストオブジェクトとサンプルデータを設定するヘルパークラスを作成してみてください。多分何かを試してみてください 作成方法パターン. 。それは本当に良い本からのものです Xunitテストパターン これは、テストコードを簡単に書き込み、読み取り、維持する方法を説明しています。本のほとんどはオンラインで入手でき、 簡単なツアー 開始するのに適した場所です。
なぜあなたはそれをしたいのですか?ヌニットとほとんどの代替品は、学習と使用が非常に簡単です。単位テストを書くことの課題は、APIをマスターすることではなく、良いテストとテスト可能なコードを書くことです。
nunitを効率的に使用するには、テストとテストフィックスの属性とセットアップ属性を知り、アサートクラスで利用可能なアサートを知る必要があります。本当に簡単です!
したがって、優れたテストを作成する方法と、テストが簡単なコードを作成する方法に焦点を当てることをお勧めします。どちらのトピックも挑戦的であり、学ぶべきことがたくさんあります。