Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 1
  • 59

Posiadam metodę asynchroniczną w stylu:

 

public Task<int> CalculateAsync();

 

W jaki sposób napisać test jednostkowy, która umożliwi testowanie takiej metody? Standardowy test wywołuje co prawda metodę, ale nie czeka na jej zakończenie i nie mogę sprawdzić wyniku.

Uczestnik szkolenia
  • Zapytał
  • @ Uczestnik szkolenia | 03.09.2014
Zaloguj się aby zadać pytanie
Pokrewne

Odpowiedź (1)

  • 3

Należy do metody testującej dopisać słowo kluczowe async, a przy wywołaniu metody asynchronicznej dodać await. Dzięki temu analiza rezultatu będzie przeprowadzona po wykonaniu metody, choć sam test jednostkowy pójdzie dalej.

 

Przykład:

 

[TestClass]
    public class UnitTest1
    {
	[TestMethod]
        public async void CalculateAsyncTest()
        {
		 var result = await CalculateAsync();

		Assert.AreEqual(100, result);
        }
    }
  • Odpowiedział
  • @ | 03.09.2014
  • TRENER ALTKOM AKADEMII