AutoFixture: C#에서 테스트 데이터를 자동으로 생성하는 라이브러리 소개
사용 용도는 주로 Moq의 반환 데이터를 자동 생성하고 싶을 때나, 파라미터를 자동 생성하고 싶을 때, 그 외에는 Database의 데이터를 자동 생성하고 싶을 때에도 사용할 수 있습니다.
Package Install
Visual Studio의 Package Manager 화면이나 Command를 사용하여 설치할 수 있습니다.
패키지 관리자
Install-Package AutoFixture -Version 4.11.0
.NET CLI
dotnet add package AutoFixture --version 4.11.0
시험에 사용해보기
모델의 테스트 데이터를 만들어 보겠습니다. MyModel을 준비했습니다.
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public MyInnerModel MyInner { get; set; }
}
public class MyInnerModel
{
public string[] Notes { get; set; }
}
AutoFixture를 사용하여 MyModel을 만듭니다.
[Fact]
public void MyModelTest()
{
var fixture = new Fixture();
var myModel = fixture.Create<MyModel>();
Assert.NotNull(myModel);
}
Breakpoint를 설정하고 내용을 보면 이런 식으로 자동으로 설정되어 있습니다.
AutoFixture로 할 수 있는 일
링크
Document : Cheat Sheet · AutoFixture/AutoFixture Wiki
NuGet Gallery : NuGet Gallery | AutoFixture 4.11.0
GitHub 리포지토리 : AutoFixture/AutoFixture: AutoFixture is an open source library for .NET designed to minimize the 'Arrange' phase of your unit tests in order to maximize maintainability. Its primary goal is to allow developers to focus on what is being test the test scenario, by making it easier to create object graphs containing test data.
비슷한 기능을 가진 라이브러리
여기도 사용해 보았습니다만, 개인적으로는 AutoFixture 쪽을 좋아했습니다.
Bogus : bchavez/Bogus: A simple and sane fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.
Reference
이 문제에 관하여(AutoFixture: C#에서 테스트 데이터를 자동으로 생성하는 라이브러리 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KoKeCross/items/a5ddfb1eef647a2d4ef2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)