2010-12-16 6 views
0

私はTDDの趣旨を理解しようとしています。公開APIから受け取ったXMLを解析するクラスライブラリプロジェクト全体をリファクタリングすることに決めました。XMLを受け取り、解析するライブラリの単体テスト用に作成するテストは何ですか?

今、私はどのようなテストを受けなければならないのですか?

私はすべきいくつかのテストをお勧めしますし、今後の基本的な経験則のテストに必要なものを特定する方法もお教えください。

ありがとうございます!

using NUnit.Framework; 

namespace SharpDIC.Tests 
{ 
    [TestFixture] 
    class MemberTests 
    { 
     [Test] 
     public void Member_Should_Have_Required_Information() 
     { 

     } 
    } 
} 
+0

xml解析ライブラリのパブリックインターフェイスを共有することはできますか? –

+0

@Sergio:私は少し混乱しています。 TDDを使用して新しいxml解析ライブラリを作成するか、既存のライブラリの単体テストを作成してリファクタリングしたいと思っていますか?どうか明らかにしてください。 –

答えて

0

私は通常、オブジェクトを作成するテストから始めます。これにより、ボールが回転し、依存関係についてのあなたの考えが得られます。その後、あなたのコードで行うことができる最も簡単なことを考えてみてください。おそらく空の文字列を解析して何もしない(または例外を投げる)かもしれません。これは有効かつ貴重なテストです。今は何もしていない骨格があり、個々のフィーチャを追加することは難しいことではありません。既存のフィーチャリストがあるためです。

0

各テストがすでに実装されているコードのいくつかの既存の動作を明らかにするユニットテストを書くべきです。 1つの追加のことは、リファクタリングを開始する前にXML解析ライブラリの100%コードカバレッジを持つことです。私はあなたのxmlライブラリのパブリックインターフェイスを見ることなく、あまりコメントできませんでした。サイドノートでは

単体テストはリファクタリング中に行う任意のbreacking機能の変化をキャッチするのに役立ちますセーフティネットとして機能します。単体テストはリファクタリングを可能にします。