VS 2013에서이 비동기 테스트를 실패 할 수 없습니다.xUnit 비동기 테스트 대기 중이 아닙니다.
저는 xUnit 1.8.0.1539 (nuget에서 설치), xUnit Test Runner VS 확장 (0.99.5)을 가지고 있습니다. 모두 현재, AFAIK.
단위 테스트에서 Moq, AutoFixture 및 FluentAssertions 참조가 발생하지만 중요한 것은 아닌 것으로 생각합니다 (그러나 실제로는 인정합니다).
저는 솔루션의 다른 영역에서 비동기 단위 테스트를 수행했으며 제대로 작동합니다.
내가 새로 만든 테스트에서 뭔가를 잃어 버렸고, 내가 무엇을 놓치고 잘못했는지 말할 수 없습니다.
SUT 코드는 완전하지 않습니다. 테스트를 녹색으로 만들기 위해 코드를 작성하기 전에 먼저 빨간불을 먼저 가져 오려고합니다.
다음은 테스트 코드입니다 :
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();
}
}
}
그리고 여기 SUT 코드 :
분명히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());
}
}
}
,이 시험은 실패한다! Null 및 NotNull에 대한 어설 션 모두 성공할 수는 없으므로 결론적으로 SUT에서 응답을 받기 전에 테스트가 종료됩니다.
무엇을 놓쳤습니까?
또는 비동기 테스트를 시작하여 SUT 코드를 작성하기 전에 실패했는지 확인하는 것이 더 좋은 방법입니까?
Doh! 나는 내가 이것을 한 것을 지금 깨닫는다. 필자가 원하는 Nuget의 각 패키지를 설치하기보다는 Nuget의 자동 패키지 의존성 분석기를 사용하고 정확한 패키지를 실제로 검색 할 때 최신 패키지를 검색 할 것으로 기대하면서 "xUnit.net 데이터 이론과 함께 AutoFixture"패키지를 설치했습니다. 버전에 의존합니다. –