xUnit n'attend pas async test

Sur VS 2013, je ne peux pas obtenir ce async test à l'échec.

J'ai xUnit 1.8.0.1539 (installé à partir de nuget), avec le testeur xUnit VS extension (0.99.5). Tous les cours, autant que je sache.

Il m'arrive d'avoir aussi Moq, AutoFixture, et FluentAssertions de référence dans l'unité de test, mais je ne pense pas que les questions (mais je suis à l'admettre dans le cas où il n').

J'ai fait async tests unitaires dans d'autres domaines de ma solution, et ils travaillent.

Je suis absent quelque chose avec ce nouveau tests, et je ne peux pas dire ce que je suis absent ou faire du tort.

NOTE Le SUT code n'est pas destiné à être complet. Je suis juste essayer d'obtenir de la lumière rouge d'abord, avant d'écrire le code pour faire le test de passer au vert.

Voici le code de test:

using System.Threading.Tasks;
using FluentAssertions;
using Xunit;

namespace MobileApp.Proxy.Test
{
public class WhenRetrievingPriceDataFromClient
{
    [Fact]
    public async Task GroupReportIsReturnedWithSomeData()
    {
        //arrange
        var sut = new Client();

        //act
        var actual = await sut.GetReportGroupAsync();

        //assert

        //Xunit test
        Assert.Null(actual);
        Assert.NotNull(actual);
        //FluentAssertions
        actual.Should().BeNull();
        actual.Should().NotBeNull();
    }
}
}

Et voici le SUT code:

using System;
using System.Diagnostics;
using System.Net.Http;
using System.Threading.Tasks;
using MobileApp.Proxy.Properties;

namespace MobileApp.Proxy
{
    public class Client
    {
        public async Task<ReportGroup> GetReportGroupAsync()
        {
            return await Task.FromResult(new ReportGroup());
        }
    }
}

Évidemment, ce test échoue! La déclare Nulle et NotNull ne peut pas réussir, donc ma conclusion est que le test est sortie avant la fin de l'obtention de la réponse de la CUS.

Qu'ai-je manqué?

OU, est-il une meilleure façon que j'aurais du commencer un async test pour s'assurer qu'il ne parvient pas avant d'écrire le SUT code?

OriginalL'auteur Alan McBee - MSFT | 2014-04-08

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *