12 Stimmen

Erster TDD-Test ohne Behauptung/erwartete Ausnahme. Ist es das wert?

Nehmen wir an, ich fange an, ein Spiel mit TDD zu entwickeln. Ist dies ein guter erster Test?

[TestMethod]
public void Can_Start_And_End_Game()
{
    Tetris tetris = new Tetris();
    tetris.Start();
    tetris.End();
}

Sie zwingt mich im Wesentlichen dazu, 3 Dinge zu definieren: die Tetris Klasse und ihre Start() y End() Methoden, aber ansonsten ist es ziemlich nutzlos. Es mag zwar sofort von Interesse sein, da ich damit die Klasse und die Methoden definieren kann, aber später wird es wahrscheinlich keinen Zweck mehr erfüllen. Ihr einziger Zweck wäre vielleicht zu zeigen, dass es möglich sein muss, ein Spiel zu starten und zu beenden, ohne eine Exception in der Mitte zu bekommen.

Was denken Sie darüber?

1voto

jyoungdev Punkte 2604

Wie S. Lott schon sagte, deckt dieser Test eine TONNE an Themen ab. Er ist so "lohnenswert", dass es sich lohnt, ihn aufzuteilen in mindestens 3 Tests und das Hinzufügen geeigneter Behauptungen zu jedem Test:

[TestMethod]
public void Test_Contructor()
{
    Tetris tetris = new Tetris();
    // make assertions
}

[TestMethod]
public void Test_Start()
{
    // setup
    Tetris tetris = new Tetris();

    // exercise
    tetris.Start();

    // make assertions
}

[TestMethod]
public void Test_End()
{
    // setup
    Tetris tetris = new Tetris();
    tetris.Start();

    // exercise
    tetris.End();

    // make assertions
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X