3

TDD を使用してイベント スケジューラを作成し、以下のクラスのテスト プロジェクトを作成しています。

コンストラクタ ロジックのテスト メソッドを作成することにしました

public class TechDay
{
    public Session MorningSlot { get; set; }
    public Session EveningSlot { get; set; }

    public TechDay()
    {
        this.MorningSlot = new Slot();
        this.EveningSlot = new Slot();

        this.MorningSlot.Sessions= new List<Session>();
        this.EveningSlot.Sessions= new List<Session>();
        this.ConfigureEventSettings();
    }

    protected virtual void ConfigureEventSettings()
    { 
      CultureInfo provider = CultureInfo.InvariantCulture;
      this.MorningSlot.StartTime = DateTime.ParseExact("9:00 AM", "h:mm tt", provider);
      this.MorningSlot.EndTime = DateTime.ParseExact("12:00 PM", "h:mm tt", provider);
      this.EveningSlot.StartTime = DateTime.ParseExact("1:00 PM", "h:mm tt", provider);
      this.EveningSlot.EndTime = DateTime.ParseExact("5:00 PM", "h:mm tt", provider);
    }
}

試験方法

[TestMethod]
public void CheckMorningSlot()
{
    TechDay techday=new TechDay();
    Assert.IsNotNull(techday.MorningSlot);
}

[TestMethod]
public void CheckEveningSlot()
{
    TechDay techday=new TechDay();
    Assert.IsNotNull(techday.EveningSlot);
}

[TestMethod]
public void CheckEveningSlotSessions()
{
    TechDay techday=new TechDay();
    Assert.IsNotNull(techday.EveningSlot.Sessions);
}

[TestMethod]
public void CheckMorningSlotSessions()
{
    TechDay techday=new TechDay();
    Assert.IsNotNull(techday.MorningSlot.Sessions);
}

コンストラクターでさまざまなパラメーターの初期化を確認するために、さまざまなメソッドを記述する必要がありますか? また、コンストラクターが別のメソッドを呼び出すわけではありません。

このコードのテスト メソッドを記述する最良の方法は何ですか?

4

2 に答える 2