Swift에서 write (to : url) 테스트

WishIHadThreeGuns

나는 사용하는 기능이 있습니다

func write(to url: URL, atomically useAuxiliaryFile: Bool, encoding enc: String.Encoding) throws

그런 :

func writeString(string: String, withDestinationFileName dest: String, withSubDirectory: String = ""){
        _ = createDirectory(toDirectory: directory, withSubDirectoryPath: withSubDirectory)
        if let fullDestPath = buildFullURL(forFileName: dest, withSubDirectoryPath: bundleName, inDirectory: directory)
        do {
            try string.write(to: fullDestPath!, atomically: true, encoding: .utf8)
        } catch let error {
            print ("error\(error)")
        }

}}

일반적으로 파일 함수를 테스트하기 위해 모킹 및 스터 빙을 사용합니다. 예를 들어 방금 Filemanager.default에 대한 모의 파일을 작성했습니다.

그러나 여기에 NNString ( Documentation ) 에 인스턴스 메서드가 있습니다. 그러면 어떻게해야합니까?

옵션 :

  1. NSString에 대한 모의 삽입
  2. 이 기능을 테스트하지 마십시오
  3. Bool을 반환하도록 함수를 다시 작성하고 결과를 확인합니다.
  4. 함수 서명을 통해 .write 함수를 삽입하고 대체 또는 다른 옵션?
Michcio

가장 좋은 방법은 프로토콜을 사용하는 것입니다.

protocol WriteableString {
    func write(to url: URL, atomically: Bool, encoding: String.Encoding) throws
}

extension String: WriteableString {}

class MockWriteableString {
    var url: URL?

    func write(to url: URL, atomically: Bool, encoding: String.Encoding) throws {
        self.url = url
        //...
    }
}

기능을 다음과 같이 변경하십시오. func writeString(string: WriteableString, withDestinationFileName dest: String, withSubDirectory: String = "")

이 접근 방식을 사용하면 함수를 테스트하고 예를 들어 함수에 url전달 된 write(to:atomically:encoding)것이 좋은지 확인합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

CasperJS에서 URL 목록 테스트

분류에서Dev

HTTP URL에서 Jmeter 부하 테스트

분류에서Dev

PHPUnit 테스트에서 Symfony Router 컴포넌트로 URL 생성

분류에서Dev

텍스트 테이블에서 URL (여러 줄) 추출

분류에서Dev

SNMP 에이전트에 대한 테스트 URL

분류에서Dev

내 테스트에서 "Uncaught Error : write after end"의 원인은 무엇입니까?

분류에서Dev

재생 : 테스트에서 URL을 통해 정적 파일에 액세스

분류에서Dev

테스트 URL이 유효 함 (서버 응답 = 200)

분류에서Dev

장고 테스트에서 settings.DEBUG 설정과 URL 사이의 값 변경

분류에서Dev

mocha 테스트 내에서 sails 앱의 런타임 URL을 얻는 방법

분류에서Dev

단위 테스트는 어떻게 C #에서 유효한 URL입니까?

분류에서Dev

Django에서 다른 도메인 URL 구성을 로컬로 테스트

분류에서Dev

브라우저에서 테스트 한 URL이 svcutil.exe에서 반환되는 URL과 다릅니다.

분류에서Dev

wikipedia 테이블에서 URL 스크랩

분류에서Dev

CodedUI 테스트 변경 URL

분류에서Dev

Rails 외부 URL 테스트

분류에서Dev

PHP에서 URL 화이트리스트

분류에서Dev

테스트에서 reverse ()는 django-rest-framework 테스트에서 상대 URL 만 반환하며 404가 발생합니다.

분류에서Dev

트위스트 스레드에서 transport.write () 오류

분류에서Dev

내장 REST 클라이언트에서 테스트를 위해 APIARY GET URL 매개 변수 변경

분류에서Dev

C # Regex : 웹 성능 및 부하 테스트 프로젝트의 HTTP 응답에서 임의 URL 가져 오기

분류에서Dev

스토리지가 테스트에서 올바른 파일 URL을 구축하지 않습니까?

분류에서Dev

Django 단위 테스트 케이스에서 선택적 URL 매개 변수 처리

분류에서Dev

단위 테스트 케이스 MockRestServiceServer 예상 URL이 RestTemplate에서 작동하지 않습니다.

분류에서Dev

QUnit 테스트에서 http URL에서 참조 된 jQuery를 사용할 수 없습니다.

분류에서Dev

봄 테스트 보안되지 않은 URL에 대한 401를 반환

분류에서Dev

두 번째로 Lauching cypress 테스트, URL이 오류 페이지에 표시됨

분류에서Dev

테스트 커넥터의 웹훅 URL에 게시 할 수 없습니다.

분류에서Dev

@를 경로 매개 변수로 포함하는 URL에 대한 JMeter 테스트

Related 관련 기사

  1. 1

    CasperJS에서 URL 목록 테스트

  2. 2

    HTTP URL에서 Jmeter 부하 테스트

  3. 3

    PHPUnit 테스트에서 Symfony Router 컴포넌트로 URL 생성

  4. 4

    텍스트 테이블에서 URL (여러 줄) 추출

  5. 5

    SNMP 에이전트에 대한 테스트 URL

  6. 6

    내 테스트에서 "Uncaught Error : write after end"의 원인은 무엇입니까?

  7. 7

    재생 : 테스트에서 URL을 통해 정적 파일에 액세스

  8. 8

    테스트 URL이 유효 함 (서버 응답 = 200)

  9. 9

    장고 테스트에서 settings.DEBUG 설정과 URL 사이의 값 변경

  10. 10

    mocha 테스트 내에서 sails 앱의 런타임 URL을 얻는 방법

  11. 11

    단위 테스트는 어떻게 C #에서 유효한 URL입니까?

  12. 12

    Django에서 다른 도메인 URL 구성을 로컬로 테스트

  13. 13

    브라우저에서 테스트 한 URL이 svcutil.exe에서 반환되는 URL과 다릅니다.

  14. 14

    wikipedia 테이블에서 URL 스크랩

  15. 15

    CodedUI 테스트 변경 URL

  16. 16

    Rails 외부 URL 테스트

  17. 17

    PHP에서 URL 화이트리스트

  18. 18

    테스트에서 reverse ()는 django-rest-framework 테스트에서 상대 URL 만 반환하며 404가 발생합니다.

  19. 19

    트위스트 스레드에서 transport.write () 오류

  20. 20

    내장 REST 클라이언트에서 테스트를 위해 APIARY GET URL 매개 변수 변경

  21. 21

    C # Regex : 웹 성능 및 부하 테스트 프로젝트의 HTTP 응답에서 임의 URL 가져 오기

  22. 22

    스토리지가 테스트에서 올바른 파일 URL을 구축하지 않습니까?

  23. 23

    Django 단위 테스트 케이스에서 선택적 URL 매개 변수 처리

  24. 24

    단위 테스트 케이스 MockRestServiceServer 예상 URL이 RestTemplate에서 작동하지 않습니다.

  25. 25

    QUnit 테스트에서 http URL에서 참조 된 jQuery를 사용할 수 없습니다.

  26. 26

    봄 테스트 보안되지 않은 URL에 대한 401를 반환

  27. 27

    두 번째로 Lauching cypress 테스트, URL이 오류 페이지에 표시됨

  28. 28

    테스트 커넥터의 웹훅 URL에 게시 할 수 없습니다.

  29. 29

    @를 경로 매개 변수로 포함하는 URL에 대한 JMeter 테스트

뜨겁다태그

보관