同様の引数を持つプライベートメソッドを1つしか使用しない場合、2つのメソッドをテストする必要がありますか?例えばTDD、何もプライベートメソッドを使用しない場合、2つのパブリックメソッドをテストする方法は?
私はいくつかのインタフェース(契約)があります。このインタフェースの
public interface IInterface
{
void Method1(arg1, arg2, arg3);
void Method2(arg1, arg2, arg3);
}
と実装:たとえば
public class MyClass : IInterface
{
public void Method1(arg1, arg2, arg3)
{
Method3(arg1, arg2, arg3)
}
public void Method2(arg1, arg2, arg3)
{
Method3(arg1, arg2, arg3)
}
private void Method3(arg1, arg2, arg3)
{
// handle data
}
}
私はmethod1には3つのテストを持っている、それがペーストをコピーするために必要ですこれはTDD/RGBルールに基づくMethod2のテストです
これらのメソッドを両方ともテストして、何も問題がないことを確認したり、これらのメソッドを変更するときに何が問題になるかを判断する必要があります。しかし、最初に質問するのは、クラスに同じボディを持つ2つのメソッドがある理由です。 –
@ChetanRanpariya私はインターフェースがあり、強力なコントラクトを持っており、他のインターフェース実装では2つの異なるメソッドがあります。これは、このインタフェースの例外的なケースです。 –
はい...私はそれを実現します。単体テストでクラスのすべての可能なコードをカバーすることが重視されます。ハッピーコーディング... –