Frage

Ich bin gerade spöttischen Rahmen für mein Team zu bewerten beginnen und frage mich, ob jemand irgendwelche Hinweise hat Dokumentation oder Erfahrung verweisen, die Sie in Bezug auf die Kosten für die spöttischen teilen können, wenn Performance-Tests zu tun.

Links? Persönliche Erfahrung? Details geschätzt.

War es hilfreich?

Lösung 4

Ich habe die Prüfung spöttischen Frameworks (Moq und TypeMock speziell). TypeMock ist viel leistungsfähiger und flexibler, sondern weil sie in den Rahmen als Profiler steckt es wirklich einen signficant Einfluss auf die Leistung hat.

Meine Schlussfolgerung ist, dass TypeMock ein ausgezeichnetes Werkzeug für Nicht-Lasttestszenarien ist. Moq ist weniger flexibel ... aber viel geringeres Gewicht und hat keine breite Wirkung auf die allgemeine Leistung. Mit Moq haben Sie die Einrichtung Ihres Anwendungen, die speziell der Lage sein, die externen Abhängigkeiten zu verspotten (eine Übung in gutem Design sowieso), sondern hat eine viel bessere Passform für meine Last bezogenen Szenarien erwiesen.

Leider habe ich nicht aufzeichnen tatsächliche Zahlen in meinen Tests in Bezug auf Moq vs TypeMock aber der Performance-Vorteil von Moq ist signficant in meiner Erfahrung.

Andere Tipps

IIRC TypeMock verwendet die Profiler API, die in der Regel ziemlich viel Overhead hinzufügt, sollte aber immer noch schneller als die Anwendung über einen Profiler ausgeführt wird.

NCover verwendet auch den Profiler API, und scheint ziemlich schnell zu sein.

Aaron Jensen erstellt ein Testprojekt und einige Performance-Tests haben. http://codebetter.com/ Blogs / aaron.jensen / Archiv / 2008/05/08 / Mock-Rahmen-benchmarks.aspx

ich eher basiert allerdings auf API und Fähigkeiten wählen würde, aber die Leistung kann ein Problem mit TDD und Ihre Tests viele Male ausgeführt wird.

Wir haben für ein paar Jahre TypeMock benutzen und nach meiner Erfahrung gibt es keinen erheblichen Mehraufwand in der Leistung (ich bin sicher, dass ein Overhead gibt es, es ist einfach kein großes Problem).

Aufgrund der Art, wie TypeMock funktioniert gibt es mehrere Dinge zu beachten. Wie TypeMock arbeitet grundsätzlich durch Code on the fly Injektion können die Fehler manchmal sehr exotisch sein. Melden von Fehlern kann so ein bisschen eine schwierige Aufgabe. Seien Sie bereit, in IL zu graben.

Meine Erfahrung ist, dass es schwierig sein kann, den „durchschnittlichen Entwickler“, wie TypeMock arbeitet zu erklären. Es wird schnell kompliziert und obwohl ihre Trace-Tools machbar machen Fehlerbehebung es lässt noch ein wenig eine Unterstützung Aufgabe.

Auch als TypeMock lassen Sie alles verspotten (außer mscorlib), brauchen Sie nicht wirklich die notwendig Dereferenzierungsebenen, um Ihren Code hinzuzufügen. Dies ist ein Merkmal und TypeMock ist nicht wirklich schuld hier. versuchen, ihre Probleme zu lösen, indem sie alle über den Ort spöttisch statt Entkoppeln den Code noch habe ich eine Menge Entwickler gesehen. Das verbessert nicht die gesamte Codequalität IMO.

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