アプリケーションを作成した場合、「レガシーコード」で作業するようになりました(マイケルフェザーの著書「レガシーコードによる効果的な作業」 - 「レガシーコード」によるフェザーとは、ユニットテストによって適切にカバーされていない)。
@bANは述べているように、あなたはあなたがインターフェイスを使用して「スタブ」またはoverride
を使用して置き換えることができますファクトリメソッドを使用して呼び出すことになる方法を隔離するために多くの作業を行う必要があります。これがなければ、インテグレーションテストを実行することになります(異なるアトム間の統合もテストされるため)。しかし、試験方法と生産方法の1対1の比率は、ほとんどすべての場合に十分なカバレッジを提供しません。
Visual Studioのバージョンによって、テストツールの量は異なります。 NUnitは、Visual Studioツールを使用していない場合には、非常に一般的なテストフレームワークhttp://www.nunit.org/です。
テストを取得するには、次のことができます。
YourProjectUnderTestName.Tests.Unitと呼ばれるタイプテストプロジェクトの新しいプロジェクトを作成します。
テストクラスには属性[TestClass]
があり、テストメソッドには属性が[TestMethod]
であることがわかります。
また、あなたはテストでアレンジ、法、アサートパターンに従うべきAssert
クラスとその静的メソッドhttp://msdn.microsoft.com/en-us/library/ms182530.aspx
を見てする必要があります。孤立してテストするコードを実行するために必要なものをすべて入手してから、テスト対象のコードを実行し、Assertsを使用して予想される動作をテストします。[ClassCleanup()]
ClassInitialize
、
[ClassInitialize()]
、[TestInitialize()]
、および [TestCleanup()]
:
あなたはいくつかの点でも属性を持つこれらの(MSUnit中)[設定]/[解体]方法を知る必要がありますテストが開始される前に実行され、クラスの各テストの前にTestInitialize
が実行され、クラスの各テストの後にTestCleanup
が実行され、すべてのテストが完了した後にClassCleanup
が実行されます。
@bANはhttp://artofunittesting.com/サイトで一見して本を得ることを真剣に考えています。事務所がコードコンプリートと一緒に火をつけていたら私がつかむものの一つです。
@banと@Oliver Hanappiが述べたように、TDDは「適切な」ユニットテストを行い、良好なカバレッジを得るための非常に良い方法です。
幸運を祈る!
ありがとうございます。私はこの本を注文するつもりです。 –
https://www.youtube.com/watch?v=dGPGxKjcYe8 –