Frage

Gibt es so etwas wie eine Unit-Test-Generation? Wenn dem so ist ...

... ist es gut?

... Was sind die Auto-Generation-Lösungen, die für .NET verfügbar sind?

... gibt es Beispiele für eine Technologie, wie dies mit?

... ist das nur gut für bestimmte Arten von Anwendungen oder es könnte verwendet werden, um alle von Hand geschrieben Unit-Tests zu ersetzen?

War es hilfreich?

Lösung

Hier finden Sie aktuelle Pex . Es ist ein Microsoft Forschungsprojekt. Von der Website:

Pex erzeugt Unit Tests von handschriftlichen Parameterized Unit Tests durch automatisierte Exploratory Testing basierend auf dynamische symbolische Ausführung.

Andere Tipps

Ich glaube, es gibt keinen Punkt in Unit-Test-Generation, so weit wie TDD geht.

Sie nur Unit-Tests, so dass Sie sicher sind, dass Sie (als Entwickler) auf dem richtigen Weg sind w / Grüße und Spezifikationen zu entwerfen. Sobald Sie die automatische Generierung Tests beginnen, verliert er diesen Zweck. Sicher würde es bedeuten, wahrscheinlich 100% Code Coverage, sondern, dass die Berichterstattung sinnlos und leer wäre.

Automatisierte Unit-Tests auch bedeuten, dass Ihre Strategie ist Test nach, die von TDD-Test-vor-Lehre entgegengesetzt ist. Auch hier TDD geht es nicht um Tests.

Dass gesagt wird ich glaube MSTest hat ein automatisches Unit-Test-Generierungs-Tool. - Ich konnte man mit VS2005 verwenden

Aktualisiert für 2017:

Unit Test Generator für Boilerplate VS arbeitet 2015-2017 und gepflegt wird . Scheint wie angekündigt zu arbeiten.

Ich habe ‚ErrorUnit‘ und erzeugt MSTest oder NUnit Unit-Tests von pausierte Visual Studio, oder von Ihrem Fehlerprotokoll; Mocking Klassenvariablen, Methodenparameter und EF Datenzugriff so weit. ( http://ErrorUnit.com )

Nein Einheit Testgenerator kann alles tun; Unit-Tests sind klassisch getrennt in drei Teile anordnen, Act und Assert; Arrange Teil der größte Teil einer Unit-Test ist und es richtet alle Voraussetzungen zu einem Test, alle Daten, spöttisch, die auf im Test, das Gesetz Teil eines Unit-Test werden gehandelt wird in der Regel eine Zeile und aktiviert der Teil des Codes geprüft wird, dass Daten vorbei, und schließlich der Assert Teil des Tests nimmt die Ergebnisse des Abschnitts Act und überprüft, ob sie die Erwartungen erfüllen (kann Null Linien sein, wenn nur dort sicherstellen, dass kein Fehler vorliegt).

Unit-Test-Generatoren im Allgemeinen kann dies nur die ‚anordnen‘ und ‚Act‘ Abschnitte auf Unit-Test-Erstellung; jedoch Unit-Test-Generatoren im Allgemeinen keine Teile ‚Assert‘ schreiben, wie nur Sie wissen, was richtig ist und was für Ihre Zwecke nicht korrekt ist. So einige manuelle Eingabe / Verlängerung von Unit-Tests ist notwendig für die Vollständigkeit.

Ich stimme mit Jon. Bestimmte Arten von Tests, wie automatisiertes Fuzzing, auf jeden Fall von automatisierter Generierung profitieren. Während Sie die Einrichtungen eines Unit Testing Framework dies erreichen können, dies erreichen nicht die mit einer guten Einheit Testabdeckung verbunden sind Ziele.

Para .TEST eine Funktionalität von Tests Generation. Es verwendet NUnit Rahmen für die Tests Beschreibung und Behauptungen Auswertung.

Es ist möglich, eine Regressionstest Suite durch automatisierte Erzeugungsszenarien (Konstruieren Eingänge und Aufrufe getestet Methode) und die Schaffung von Assertionen herzustellen, die auf dem aktuellen Code-Basis Verhalten basieren. Später entwickelt sich nach Codebasis unter Tests Behauptungen zeigt Regressionen oder leicht wieder aufgenommen werden kann.

Ich habe verwendet NStub Test für meine Klassen Stub. Es funktioniert ziemlich gut.

Ich habe verwendete Werkzeuge Testfälle zu erzeugen. Ich denke, es funktioniert gut für übergeordnete, Endbenutzers orientierten Tests. Stuff, der Teil der User Acceptance Testing, um so mehr, als reine Unit-Tests ist.

Ich verwende die Unit-Test-Tools für diese Abnahmeprüfung. Es funktioniert gut.

Siehe Tooling zu Testfällen beim Aufbau .

Es ist ein kommerzielles Produkt namens AgitarOne (www.agitar.com), die JUnit-Testklassen automatisch erzeugt.
Ich habe es nicht so verwendet werden, kann auf nicht kommentieren, wie nützlich es ist, aber wenn ich ein Java-Projekt im Moment tun, ich würde es suchen.

Ich weiß nicht, von einem .net-Äquivalent (Agitar hat man eine .net-Version ankündigt, aber AFAIK es nie verwirklicht).

Ich weiß, dieser Thread ist alt, aber im Interesse aller developpers, gibt es eine gute Bibliothek namens Unit-Test-Generator:

https://visualstudiogallery.msdn.microsoft.com/45208924- e7b0-45df-8cff-165b505a38d7

Good dev

GennyMcGenFace erzeugt einen Unit-Test für jede Funktion in und Ihre Klasse erzeugt Objekte mit zufälligen Wörtern / Werte in jedem Parameter.

  • generiert Unit-Tests für jede Funktion in der Klasse
  • Zahlen gültig zufällig generierten Werte für die Parameter um Eingänge und die Rückkehr-Anweisung.
  • mockable Schnittstellen Rückkehr gültig zufällig ermittelten Werten
  • generiert Unit-Tests für jede Funktion in der Klasse
  • Importiert alle benötigten Namespaces in die Testklasse

Es hilft, Ihre Unit-Tests bei der Einrichtung, vor allem, wenn Sie Eingabeobjekte mit vielen Parametern haben.

Der Unit-Test wird wie folgt aussehen

Selen erzeugt Unit-Tests von Benutzerbefehlen auf einer Web-Seite, ziemlich raffinierten .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top