xUnit nicht erwartet async-test

Auf VS 2013, ich kann nicht async-test fehl.

Habe ich xUnit 1.8.0.1539 (Installation über nuget), mit dem xUnit-Test-Runner VS-Erweiterung (0.99.5). Alle aktuellen, AFAIK.

Ich zufällig auch haben Moq, AutoFixture, und FluentAssertions Referenz in das Gerät zu testen, aber ich glaube nicht, dass die Sachen (aber ich bin, es zuzugeben, falls es funktioniert).

Habe ich getan asynchronen unit tests in anderen Bereichen meine Lösung, und Sie funktioniert.

Bin ich etwas fehlt, mit diesem neu erstellten tests, und ich kann nicht sagen, was mir fehlt oder das falsche tun.

HINWEIS SUT code ist nicht dazu gedacht, vollständig zu sein. Ich versuche nur zu bekommen, das rote Licht zuerst, bevor ich den code schreiben, um die Prüfung zu machen, gehen grün.

Hier ist der test-code:

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();
    }
}
}

Und hier ist der 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());
        }
    }
}

Offensichtlich, dieser test sollte fehlschlagen! Die Bestätigungen für Null-und NotNull können nicht zugleich gelingt, so meine Schlussfolgerung ist, dass Sie den test beenden, bevor es endet immer die Antwort des SUT.

Hab ich was verpasst?

ODER gibt es einen besseren Weg, sollte ich angefangen haben, eine async-test, um sicherzustellen, dass es ausfällt, bevor das schreiben der SUT-code?

InformationsquelleAutor Alan McBee - MSFT | 2014-04-08

Schreibe einen Kommentar