mas/Carthage/Checkouts/Quick/Documentation/ko-kr/ConfiguringQuick.md
2018-09-05 09:54:08 +10:00

2.3 KiB

Quick의 동작 방식 설정하기

QuickConfiguration 을 서브클래싱하거나 QuickConfiguration.Type.configure() 클래스 메소드를 오버라이드해서 퀵의 동작 방식을 커스터마이징 할 수 있습니다:

// Swift

import Quick

class ProjectDataTestConfiguration: QuickConfiguration {
  override class func configure(configuration: Configuration) {
    // ...set options on the configuration object here.
  }
}
// Objective-C

@import Quick;

QuickConfigurationBegin(ProjectDataTestConfiguration)

+ (void)configure:(Configuration *configuration) {
  // ...set options on the configuration object here.
}

QuickConfigurationEnd

프로젝트에는 몇 가지 설정이 포함될 수 있습니다. Quick은 이러한 설정이 실행되는 순서에 대해 어떠한 보장을 하지 않습니다.

글로벌 beforeEachafterEach 클로저 추가하기

QuickConfiguration.beforeEachQuickConfiguration.afterEach를 사용하여 테스트 슈트의 모든 예제 앞이나 뒤에 실행될 클로저를 지정할 수 있습니다 :

// Swift

import Quick
import Sea

class FinConfiguration: QuickConfiguration {
  override class func configure(configuration: Configuration) {
    configuration.beforeEach {
      Dorsal.sharedFin().height = 0
    }
  }
}
// Objective-C

@import Quick;
#import "Dorsal.h"

QuickConfigurationBegin(FinConfiguration)

+ (void)configure:(Configuration *)configuration {
  [configuration beforeEach:^{
    [Dorsal sharedFin].height = 0;
  }];
}

QuickConfigurationEnd

또한, Quick은 현재 실행 중인 예제와 관련된 메타데이터에 접근하는 것을 허용합니다 :

// Swift

import Quick

class SeaConfiguration: QuickConfiguration {
  override class func configure(configuration: Configuration) {
    configuration.beforeEach { exampleMetadata in
      // ...use the example metadata object to access the current example name, and more.
    }
  }
}
// Objective-C

@import Quick;

QuickConfigurationBegin(SeaConfiguration)

+ (void)configure:(Configuration *)configuration {
  [configuration beforeEachWithMetadata:^(ExampleMetadata *data) {
    // ...use the example metadata object to access the current example name, and more.
  }];
}

QuickConfigurationEnd