Podczas testu UnitTest tworzę dane, które należy uwzględnić w przyszłych testach jednostkowych. Na przykład:Jak przekazać dane z UnitTest do testu 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);
}
muszę zapisać się „numer zamówienia”, tak by inny unittest (ewentualnie na innym środkiem) może skorzystać z tej generowane zamówienia. Zdecydowałem, że mogę korzystać z bazy danych, ale potem muszę operować nią jak kolejką w usuwaniu przedmiotów i wolałbym nie iść tą drogą.
Czy istnieje sposób "Zwrócić" OrderNumber z powrotem do LoadTest i przekazać go jako parametr kontekstowy w wywołaniu do innego UnitTest?
Czy możesz wyjaśnić, dlaczego potrzebujesz dokładnej instancji stworzonej przez inny test? Dlaczego nie wystarczy utworzyć instancję w metodzie instalacji i używać jej w obu testach? – unholysampler
Masz jedną metodę, która tworzy zamówienia. Ta metoda działa szybciej niż przetwarzanie. Musisz udowodnić, że możesz utworzyć 40000 zamówień w ciągu 1 godziny, a jednocześnie przetworzyć te zamówienia (nie musisz przetwarzać wszystkich zamówień 40K, po prostu udowodnij, że podczas przetwarzania możesz tworzyć zamówienia 40K). Nie można po prostu utworzyć wszystkich 40K na początek, ponieważ są problemy z współbieżnością, które mogą pojawić się podczas tworzenia i przetwarzania w tym samym czasie. Nie możesz utworzyć wzorca Utwórz/Przetwarzaj/Utwórz/Przetwarzaj, ponieważ nie uzyskasz wszystkich 40 000 zamówień. Porządek istnieje do przetworzenia. – esac
Nie wykonałem żadnej pracy z testami obciążenia, więc nie mogę udzielić bezpośredniej pomocy. Jeśli jednak chodzi o to, że obie te metody są regularnie nazywane sposobem "tworzenia obciążenia", to może być tak proste, jak gdybyśmy mieli zmienną składową 'Kolejka' w klasie, w której te metody są zdefiniowane. W ten sposób,' CreateOrder() 'może dodać do kolejki i' ProcessOrder() 'może pobrać z niego. W przeciwnym razie spróbuj przeczytać [this] (http://msdn.microsoft.com/en-us/library/ms182561% 28v = vs.80% 29.aspx) w celu uzyskania szczegółowych informacji o testach ładujących w Visual Studio. – unholysampler