Ich benutze MSTest, wenn ich zuerst alle meine Unit-Tests (oder Tests für sich selbst) ausführen möchte ich eine eindeutige Kennung erstellen, die ich einfügen kann db-Datensätze, um den Test zu verfolgen. Das Problem besteht darin, dass dieselbe eindeutige Referenz für alle Tests erstellt und verwendet werden soll. Was ich wirklich verwenden möchte, ist ein DateTime-Stempel. Ich suche nach einem Ereignis, das immer erhöht wird, und dann kann ich es in einen statischen Container für die Dauer der Tests setzen und dann nur auf diesen statischen Container innerhalb der Tests zugreifen ... Ist das möglich? ....Wie kann ich eine einzige Variablen verwenden, um alle meine Tests zu verfolgen?
Antwort
Sie könnten das Attribut AssemblyInitialize für eine Methode verwenden, um sicherzustellen, dass es vor allen anderen Methoden in Ihrer Testbaugruppe ausgeführt wird. In dieser Methode könnten Sie Ihre eindeutige ID generieren und sie auf eine statische Variable setzen. Wenn Ihre Testmethoden Baugruppen umfassen, wird dies jedoch nicht funktionieren.
Sie die Strecke nach unten gehen könnte eine statische DateTime
eine eigene Klasse von mit verantwortlich für das Halten:
public static class TestIdGenerator
{
private static readonly Lazy<DateTime> _testId = new Lazy<DateTime>(() => DateTime.Now);
public static DateTime TestId
{
get { return _testId.Value; }
}
}
in Ihrem Test, Sie darauf zugreifen mit
var testId = TestIdGenerator.TestId;
Der Datetime eingestellt wird, die Zum ersten Mal wird auf die Eigenschaft TestId
zugegriffen und bleibt bei jedem nachfolgenden Zugriff gleich, bis die CLR entladen wird. Dies geschieht, wenn alle Tests in einem bestimmten Testlauf abgeschlossen wurden.
Ich habe das gerade getestet, und es bleibt für alle Tests in der Vorrichtung konstant, ist aber dann beim nächsten Testlauf anders.
- 1. Wie alle lokalen Variablen zu verfolgen, wenn eine Ausnahme auftritt
- 2. Wie kann ich Mocha erhalten, um meine Tests isoliert durchzuführen?
- 3. Wie kann ich Variablen verwenden, um Vim Colorthemes zu trocknen
- 4. Wie kann ich für alle Projekte in einer Lösung eine einzige Anwendungskonfigurationsdatei verwenden?
- 5. Kann ich __init__.py verwenden, um globale Variablen zu definieren?
- 6. Kann ich Joomla!/WordPress verwenden, um meine Website zu erstellen?
- 7. Kann ich main() verwenden, um meine Anwendung neu zu starten?
- 8. Wie kann ich ein Groovy Jenkinsfile für eine Django-Anwendung schreiben, um meine Tests durchzuführen?
- 9. Wie bekomme ich Eclipse, um alle meine Groovy-Komponententests auszuführen?
- 10. Wie konfiguriere ich Betamax, um SSL für meine Spock-Tests zu verwenden?
- 11. Welche Datenstruktur sollte ich verwenden, um Abhängigkeit zu verfolgen?
- 12. Kann ich svchost.exe verwenden, um meine eigenen Dienste zu hosten?
- 13. kann ich GPS verwenden, um meinen Standort zu verfolgen, wenn ich offline
- 14. Wie kann ich eine Variable zur Laufzeit in C# verfolgen?
- 15. Wie führe ich alle meine PHPUnit-Tests aus?
- 16. Verwenden Sie "go test", um alle Tests aufzulisten
- 17. Wie kann ich PHP verwenden, um eine Datumszeichenfolge zu analysieren?
- 18. Wie kann ich meine Tests direkt an Nunit übergeben
- 19. Kann ich nur meine TODO-Aufgaben in Visual Studio verfolgen?
- 20. Wie kann ich alle Änderungen innerhalb eines Untergraphen verfolgen/beobachten?
- 21. Ich kann Sie nicht dazu bringen, meine Tests zu sehen
- 22. Wie schreibe ich Tests für meine Webanwendung?
- 23. Kann ich mehr generische Schnittstellen verwenden, um meine Klassen zu vereinfachen ein Befehlsmuster zu verwenden?
- 24. Soll ich Pylons Paste verwenden, um meine Pylons-Website zu hosten? Oder kann ich Apache verwenden?
- 25. Kann ich Erweiterungsmethoden verwenden, um eine Schnittstelle zu implementieren?
- 26. Verfolgen, wer meine App verwendet
- 27. Soll ich eine 301-Weiterleitung verwenden, um ausgehende Klicks zu verfolgen?
- 28. Wie kann ich machen Compojure auf eine einzige IP hören
- 29. MSTest alle meine Tests gleichzeitig ausführen bricht Tests - was zu tun ist
- 30. AS3 verwenden Sie eine Variable, um alle MovieClips zu laden
Wofür ist diese eindeutige Kennung? Ich kann es nicht verstehen –