Av Lars Rosén
6. July 2009, 23:46
Visa profil för Lars Rosén
Eftersom alla service-anrop i Silverlight måste göras ansynkrona behöver de kunna testas.
Men eftersom de är asynkrona så går det inte på ett vanligt sätt, utan det behövs lite extra.
Hemligheten ligger i ett attribut som heter [Asynchronous].
Dessutom måste testklassen ärva från SilverlightTest
Testen som markeras som asynkron får inte sitt testresultat förrens metoden EnqueueTestComplete anropas.
Exempel:
[TestMethod]
[Asynchronous]
public void AsyncTest()
{
SomeCallsHandler.onLoaded += (sender, e) =>
{
List theDates = (List)SomeCallsHandler.GetData(ServiceCalls .GetDatesAsync);
string sb = (string)SomeCallsHandler.GetData(ServiceCalls.GreetingsAsync);
Assert.AreEqual("Greetings Arne Anka", sb);
EnqueueTestComplete();
}
SomeCallsHandler.StartLoad();
}
Ha en bra sommar
/Lars