Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
TDD mit MSTest Stefan Lieser Email: stefan@lieser-online.destefan@lieser-online.de Web: http://www.lieser-online.dehttp://www.lieser-online.de
2
Agenda Begriffsklärung Unit Test, Integration Test, etc. Überblick MSTest Red, Green, Refactor Vorgehensweise bei TDD Mock Frameworks Rhino.Mocks TypeMock Sollen Tests das Design beeinflussen?
3
Begriffsklärung Unit Test automatisiert Testet die kleinste Einheit, in der Regel eine Klasse Isolieren der „class under test“ von ihren Abhängigkeiten
4
Überblick MSTest using Microsoft.VisualStudio.TestTools.UnitTesting; namespace MeineTests { [TestClass] public class BasicTests { [TestMethod] public void Test() { int i = 5; Assert.AreEqual(5, i); } Klasse enthält Tests Diese Methode ist ein Test Annahme die erfüllt sein muss
5
Test Setup [TestClass] public class BasicTests { private IList list; [TestInitialize] public void Setup() { list = new List (); } [TestMethod] public void Test() { list.Add("bla"); Assert.AreEqual(1, list.Count); } Initialisierung die vor jeder Testmethode ausgeführt wird.
6
Red, Green, Refactor Red Schreibe einen Test. Implementiere gerade soviel dass es syntaktisch korrekt ist. Green Ergänze die Implementierung gerade so weit, dass der Test erfolgreich ist. Refactor Überarbeite die Implementierung so dass sie „besser“ wird, ohne ihr Verhalten zu modifizieren.
7
Test first? Sapir-Whorf These Die Sprache formt das Denken. Spezifikation (statt Test) trifft die Sache eher. Test first führt dazu dass man eine neue Funktionalität erst anwendet ehe man sie implementiert. Dadurch wird die API in der Regel besser.
8
Test first? Die Testabdeckung (Coverage) ist in der Regel höher als bei Tests die im Nachhinein ergänzt werden. Kein Dogma! Manchmal geht es nur im Nachhinein. Manchmal hilfreich: erst einen Spike ohne Tests, diesen dann wegwerfen und Test first neu beginnen.
9
Links Sapir-Whorf These: http://de.wikipedia.org/wiki/Sapir-Whorf-Hypothese http://de.wikipedia.org/wiki/Sapir-Whorf-Hypothese
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.