Während meines UnitTest erstelle ich Daten, die in zukünftigen UnitTests referenziert werden müssen. Zum Beispiel:Wie übertrage ich Daten von einem UnitTest zu einem LoadTest?
[TestMethod]
public void CreateOrder()
{
Order order = new Order();
int orderNumber = order.Create();
// return orderNumber;
}
[TestMethod]
public void ProcessOrder()
{
int orderNumber = (int)TestContext.Properties["OrderNumber"];
ProcessOrder(orderNumber);
}
Ich muss sparen off ‚ordernumber‘ so, dass eine andere Unittest (möglicherweise auf einem anderen Agenten) kann dieser Reihenfolge erzeugt verwenden. Ich habe entschieden, dass ich eine Datenbank verwenden kann, aber dann muss ich sie wie eine Warteschlange beim Entfernen von Objekten betreiben und möchte diesen Weg nicht gehen.
Gibt es eine Möglichkeit, die orderNumber zurück zum LoadTest zu geben und diese als Context-Parameter in einem Aufruf an einen anderen UnitTest zu übergeben?
Können Sie erklären, warum Sie genau die Instanz benötigen, die durch den anderen Test erstellt wurde? Warum reicht es nicht aus, die Instanz in einer Setup-Methode zu erstellen und von beiden Tests zu verwenden? – unholysampler
Sie haben eine Methode, die Bestellungen erstellt. Diese Methode arbeitet schneller als die Verarbeitung. Sie müssen beweisen, dass Sie 40000 Bestellungen in 1 Stunde erstellen und gleichzeitig diese Bestellung bearbeiten können (Sie müssen nicht alle 40K Bestellungen bearbeiten, nur beweisen, dass während der Verarbeitung 40K Bestellungen erstellt werden können). Sie können nicht einfach alle 40K-Dateien erstellen, da es Probleme mit der Nebenläufigkeit gibt, die durch gleichzeitiges Erstellen und Verarbeiten auftreten können. Sie können nicht ein Create/Process/Create/Process-Muster erstellen, da Sie nicht alle 40K-Aufträge erhalten. Die Reihenfolge muss existieren, um zu verarbeiten. – esac
Ich habe keine Arbeit mit Lasttests gemacht, daher kann ich keine direkte Hilfe geben. Aber wenn die Idee ist, dass diese beiden Methoden regelmäßig aufgerufen werden, um "load" zu erstellen, dann ist es vielleicht so einfach, eine Member-Variable "Queue" in der Klasse zu haben, in der diese Methoden definiert sind. Auf diese Weise 'CreateOrder() 'kann zur Warteschlange hinzufügen und' ProcessOrder() 'kann daraus ziehen. Versuchen Sie andernfalls, [this] zu lesen (http://msdn.microsoft.com).com/de-us/library/ms182561% 28v = vs.80% 29.aspx) für Details zu Auslastungstests in Visual Studio. – unholysampler