모든 테스트에 대해 중복 TestFixtures 배열을 방지하는 방법은 무엇입니까?

LCIII

나는 모든 TestFixtures를 정렬하는 많은 테스트를 가지고 있으며 그 정렬 코드를 많이 복제하고 있음을 발견했습니다 . 모든 테스트의 처음 몇 줄은 거의 동일합니다.

모든 테스트에서 하나의 공유 TestFixture를 선언하는 동시에 각 테스트간에 "재설정"하여 테스트 독립성을 유지하는 방법이 있습니까?

public class MyClassTests
{
    private readonly Mock<ICoolService> _mockCoolService;
    private readonly Mock<IGreatService> _mockGreatService;
    private readonly Mock<INiceService> _mockNiceService;
    private readonly MyClass _controller;

    public MyClassTests(){

        //initialize the services.

        _controller = new MyClass(_mockCoolService.Object, _mockGreatService.Object, _mockNiceService.Object);
    }

    [Fact]
    public async Task MyTest_ShouldDoThis(){
        var batchName = TestFixture.Create<string>();
        var documentName = TestFixture.Create<string>();
        var controlId = TestFixture.Create<int>();

        _mockCoolService.Setup(x=>x.ACoolMethod(batchName, documentName)).Returns(batchName)

        var result = _controller.DoThis()

        //VerifyAll
    }

    [Fact]
    public async Task MyTest_ShouldDoThat(){
        var batchName = TestFixture.Create<string>();
        var documentName = TestFixture.Create<string>();
        var controlId = TestFixture.Create<int>();

        _mockGreatService.Setup(x=>x.AGreatMethod(batchName, documentName)).Returns(batchName)

        var result = _controller.DoThat()

        //VerifyAll
    }

    [Fact]
    public async Task MyTest_ShouldDoAnotherThing(){
        var batchName = TestFixture.Create<string>();
        var documentName = TestFixture.Create<string>();
        var controlId = TestFixture.Create<int>();

        _mockNiceService.Setup(x=>x.ANiceMethod(batchName, documentName)).Returns(batchName)

        var result = _controller.DoAnotherThing()

        //VerifyAll
    }
}
세균

xUnit 문서는 생성자에 다음과 같은 코드를 넣는 것을 제안합니다.

xUnit.net은 실행되는 모든 테스트에 대해 테스트 클래스의 새 인스턴스를 생성하므로 테스트 클래스의 생성자에 배치 된 모든 코드가 모든 단일 테스트에 대해 실행됩니다.

xUnit 문서 : 테스트 간 공유 컨텍스트

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

(wx) Maxima : 목록의 모든 구성원에 대해 작업을 반복하는 방법은 무엇입니까?

분류에서Dev

배열 속성 내의 모든 요소에 대해 반복적으로 값을 설정하는 방법은 무엇입니까?

분류에서Dev

다중 레벨 인덱스 데이터 프레임의 모든 행에 대해 복잡한 df 작업을 수행하는 방법은 무엇입니까?

분류에서Dev

중첩 된 foreach의 모든 배열을 설정 해제하는 방법은 무엇입니까?

분류에서Dev

서식있는 텍스트 상자의 모든 줄에 대해 이것을 반복하는 방법은 무엇입니까?

분류에서Dev

테이블에서 모든 중복을 제거하는 방법은 무엇입니까?

분류에서Dev

배열에 중복을 추가하지 않고 특정 속성에 대해 한 번에 하나의 값만 가질 수있는 방법은 무엇입니까?

분류에서Dev

자바 : 중복되지 않는 요소에 대해 두 개의 int [] 배열을 비교하는 방법은 무엇입니까?

분류에서Dev

모든 중복 태그의 값을 얻기 위해 xsl을 작성하는 방법은 무엇입니까?

분류에서Dev

파일에 대한 모든 중복 하드 링크를 삭제하는 방법은 무엇입니까?

분류에서Dev

테이블에있는 모든 열에 대해 MySQL 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

VIm에서 어딘가에 중복되는 모든 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

열 이름을 지정하지 않고 bigquery로 테이블의 모든 열에 대해 내장 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

열 이름을 지정하지 않고 bigquery로 테이블의 모든 열에 대해 내장 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

컨트롤러 및 모델에서 중복 위생을 방지하는 방법은 무엇입니까?

분류에서Dev

가능한 모든 쌍에 대해 SQL 열의 값 쌍을 비교하는 방법은 무엇입니까?

분류에서Dev

배열을 반복하고 각각에 대해 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

모든 테스트 전에 서버를 한 번 시작하고 중지하는 방법은 무엇입니까?

분류에서Dev

모든 사용자에 대해 모니터 절전을 비활성화하는 방법은 무엇입니까?

분류에서Dev

지연 이벤트를 모든 후속 중복 행에 복사하는 방법은 무엇입니까?

분류에서Dev

'모든 중복 된'값을 제거하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트 : 배열 속성에 대한 게시 요청을 위해 객체 배열을 반복하는 방법은 무엇입니까?

분류에서Dev

배열의 모든 객체에 대해 Redux에 고유 ID를 넣는 방법은 무엇입니까?

분류에서Dev

CSS를 사용하는 모든 브라우저에 대해 "div"요소를 수직 중앙에 배치하는 방법은 무엇입니까?

분류에서Dev

모든 Bamboo 스테이지에 대해 하나의 sourceode 체크 아웃을 사용하는 방법은 무엇입니까?

분류에서Dev

모든 레이어에 대해 동일한 RNN을 스택하는 방법은 무엇입니까?

분류에서Dev

여러 열에 대해 그룹화 할 때 모든 열을 가져 오는 방법은 무엇입니까?

분류에서Dev

sed에서 중복 대체물을 피하는 방법은 무엇입니까?

분류에서Dev

모든 특정 키가 다중 배열에서 특정 값을 가지고 있는지 확인하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    (wx) Maxima : 목록의 모든 구성원에 대해 작업을 반복하는 방법은 무엇입니까?

  2. 2

    배열 속성 내의 모든 요소에 대해 반복적으로 값을 설정하는 방법은 무엇입니까?

  3. 3

    다중 레벨 인덱스 데이터 프레임의 모든 행에 대해 복잡한 df 작업을 수행하는 방법은 무엇입니까?

  4. 4

    중첩 된 foreach의 모든 배열을 설정 해제하는 방법은 무엇입니까?

  5. 5

    서식있는 텍스트 상자의 모든 줄에 대해 이것을 반복하는 방법은 무엇입니까?

  6. 6

    테이블에서 모든 중복을 제거하는 방법은 무엇입니까?

  7. 7

    배열에 중복을 추가하지 않고 특정 속성에 대해 한 번에 하나의 값만 가질 수있는 방법은 무엇입니까?

  8. 8

    자바 : 중복되지 않는 요소에 대해 두 개의 int [] 배열을 비교하는 방법은 무엇입니까?

  9. 9

    모든 중복 태그의 값을 얻기 위해 xsl을 작성하는 방법은 무엇입니까?

  10. 10

    파일에 대한 모든 중복 하드 링크를 삭제하는 방법은 무엇입니까?

  11. 11

    테이블에있는 모든 열에 대해 MySQL 함수를 호출하는 방법은 무엇입니까?

  12. 12

    VIm에서 어딘가에 중복되는 모든 줄을 제거하는 방법은 무엇입니까?

  13. 13

    열 이름을 지정하지 않고 bigquery로 테이블의 모든 열에 대해 내장 함수를 호출하는 방법은 무엇입니까?

  14. 14

    열 이름을 지정하지 않고 bigquery로 테이블의 모든 열에 대해 내장 함수를 호출하는 방법은 무엇입니까?

  15. 15

    컨트롤러 및 모델에서 중복 위생을 방지하는 방법은 무엇입니까?

  16. 16

    가능한 모든 쌍에 대해 SQL 열의 값 쌍을 비교하는 방법은 무엇입니까?

  17. 17

    배열을 반복하고 각각에 대해 함수를 호출하는 방법은 무엇입니까?

  18. 18

    모든 테스트 전에 서버를 한 번 시작하고 중지하는 방법은 무엇입니까?

  19. 19

    모든 사용자에 대해 모니터 절전을 비활성화하는 방법은 무엇입니까?

  20. 20

    지연 이벤트를 모든 후속 중복 행에 복사하는 방법은 무엇입니까?

  21. 21

    '모든 중복 된'값을 제거하는 방법은 무엇입니까?

  22. 22

    자바 스크립트 : 배열 속성에 대한 게시 요청을 위해 객체 배열을 반복하는 방법은 무엇입니까?

  23. 23

    배열의 모든 객체에 대해 Redux에 고유 ID를 넣는 방법은 무엇입니까?

  24. 24

    CSS를 사용하는 모든 브라우저에 대해 "div"요소를 수직 중앙에 배치하는 방법은 무엇입니까?

  25. 25

    모든 Bamboo 스테이지에 대해 하나의 sourceode 체크 아웃을 사용하는 방법은 무엇입니까?

  26. 26

    모든 레이어에 대해 동일한 RNN을 스택하는 방법은 무엇입니까?

  27. 27

    여러 열에 대해 그룹화 할 때 모든 열을 가져 오는 방법은 무엇입니까?

  28. 28

    sed에서 중복 대체물을 피하는 방법은 무엇입니까?

  29. 29

    모든 특정 키가 다중 배열에서 특정 값을 가지고 있는지 확인하는 방법은 무엇입니까?

뜨겁다태그

보관