os.Create ()를 사용하여 생성 된 파일 테스트

알레 한 드라 브리시오

특정 경로에 파일을 만드는 다음 함수에 대한 테스트를 만들고 싶습니다.

    exists, err := IsFileExists(path)
    if err != nil {
        return err
    }
    if exists {
        return errors.New("File already exists")
    }
    file, err := os.Create(path)
    defer file.Close()
    return err

JUnit에는 다음과 같이 테스트에 필요한 파일 및 디렉토리 구조를 설정하는 데 도움이 되는 TemporaryFolder 규칙 이 있습니다.

public class DummyFileClassTest {
    @Rule
    public TemporaryFolder folder = new TemporaryFolder();

    @Test
    public void someMethod() {
        // given
        final File file1 = folder.newFile("myfile1.txt");
        final File file2 = folder.newFile("myfile2.txt");

        ... etc...
    }
}

Go에 비슷한 것이 있습니까? 아니면 더 나은 접근 방식?

무거운

testing은 TempDir제공 하여 각 테스트 후에 정리 될 테스트 디렉터리를 가져옵니다.

import(
  "testing"
  "path"
)

func TestConvert(t *testing.T) {
    tmpdir := t.TempDir()
 
    ...

    // tmpdir will be cleaned up
}

그런 다음 path.Join(tmpdir, "test.file")임시 디렉토리에서 특정 이름으로 파일 ioutil.TempFile(tmpdir, "*")을 만들거나 임의의 이름 을 만들 수 있습니다.


함수에 경쟁 조건이 포함되어 있습니다 . 두 프로세스가 동시에 파일을 확인하면 둘 다 파일이 존재하지 않는다고 판단하고 둘 다 파일을 생성하려고합니다. 하나는 파일을 만들고 다른 하나는 파일을 자릅니다. 이것은 "확인 후 수행"입니다.

대신 파일을 만든 다음 오류를 확인하십시오. "다음 확인".

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

생성 된 jar 파일의 클래스 경로를 사용하여 Java 소스 파일 컴파일

분류에서Dev

쉘 스크립트를 사용하여 이전에 생성 된 파일에서 단어 제거

분류에서Dev

쉘 스크립트를 사용하여 엑셀 파일 생성

분류에서Dev

파일 IO를 사용하여 매트릭스 생성

분류에서Dev

bash 스크립트를 사용하여 XML 파일 생성

분류에서Dev

bash 스크립트를 사용하여 XML 파일 생성

분류에서Dev

자바 스크립트를 사용하여 파일 생성

분류에서Dev

build_runner를 사용하여 생성 된 파일에서 프로젝트를 정리하는 방법

분류에서Dev

Android 장치에 미리 생성 된 파일을 저장하고 JNI를 사용하여 액세스

분류에서Dev

어떻게 SPQR를 사용하여 생성 된 스키마 파일 .graphqls을 얻으려면?

분류에서Dev

DOXYGEN을 사용하여 생성 된 chm 파일에서 msdn 스타일 웹 사이트 생성

분류에서Dev

jq를 사용하여 json 파일에서 스키마 생성

분류에서Dev

루프를 사용하여 파일 유닉스 생성

분류에서Dev

FreeBSD를 사용하여 일반 파일에 파일 시스템 생성

분류에서Dev

awk 스크립트를 사용하여 파일을 생성하는 방법

분류에서Dev

MP4Box (MPEG DASH)를 사용하여 생성 된 다양한 오디오 및 비디오 세그먼트에 대한 단일 매니페스트 파일

분류에서Dev

명령 줄을 사용하여 많은 파일의 txt를 복사하고 모든 텍스트가 포함 된 새 txt 생성

분류에서Dev

편향된 비트 소스를 사용하여 균일 한 임의 비트 생성

분류에서Dev

동적 이름이 지정된 파일에서 특정 날짜를 확인하고 쉘 스크립트를 사용하여 로그 아웃 생성

분류에서Dev

범위 연산자를 사용하여 Powershell에서 알파벳 순서로 이름이 지정된 텍스트 파일 생성

분류에서Dev

자동 생성 된 이메일과 비밀번호를 csv의 jmeter에 기록하여 다른 테스트에 사용합니다.

분류에서Dev

ssh-keyscan을 사용하여 생성 된 known_hosts 파일에도 불구하고 pysftp.CnOpts () '호스트 키를 찾을 수 없음'오류

분류에서Dev

쉘 스크립트를 사용하여 항상 4 자리 숫자와 이름이 지정된 파일을 생성하는 방법

분류에서Dev

AngularJS를 사용하여 생성 된 문자열을 기반으로 텍스트 파일을 다운로드하는 방법은 무엇입니까?

분류에서Dev

getRealPath를 사용하여 생성 된 파일은 WebContent 프로젝트 폴더가 아닌 .metada / .plugins 폴더에 생성됩니다.

분류에서Dev

CREATE DIRECTORY를 사용하여 생성 된 Oracle 논리적 디렉토리의 파일 이름을 어떻게 쿼리합니까?

분류에서Dev

CLion에서 CMake를 사용하여 소스 파일 생성 후 사용

분류에서Dev

ConfigParser를 사용하여 python 파일의 .properties 파일에 저장된 속성에 액세스하는 방법

분류에서Dev

os.path를 사용하여 파일 검색으로 CSV 파일 생성 시도

Related 관련 기사

  1. 1

    생성 된 jar 파일의 클래스 경로를 사용하여 Java 소스 파일 컴파일

  2. 2

    쉘 스크립트를 사용하여 이전에 생성 된 파일에서 단어 제거

  3. 3

    쉘 스크립트를 사용하여 엑셀 파일 생성

  4. 4

    파일 IO를 사용하여 매트릭스 생성

  5. 5

    bash 스크립트를 사용하여 XML 파일 생성

  6. 6

    bash 스크립트를 사용하여 XML 파일 생성

  7. 7

    자바 스크립트를 사용하여 파일 생성

  8. 8

    build_runner를 사용하여 생성 된 파일에서 프로젝트를 정리하는 방법

  9. 9

    Android 장치에 미리 생성 된 파일을 저장하고 JNI를 사용하여 액세스

  10. 10

    어떻게 SPQR를 사용하여 생성 된 스키마 파일 .graphqls을 얻으려면?

  11. 11

    DOXYGEN을 사용하여 생성 된 chm 파일에서 msdn 스타일 웹 사이트 생성

  12. 12

    jq를 사용하여 json 파일에서 스키마 생성

  13. 13

    루프를 사용하여 파일 유닉스 생성

  14. 14

    FreeBSD를 사용하여 일반 파일에 파일 시스템 생성

  15. 15

    awk 스크립트를 사용하여 파일을 생성하는 방법

  16. 16

    MP4Box (MPEG DASH)를 사용하여 생성 된 다양한 오디오 및 비디오 세그먼트에 대한 단일 매니페스트 파일

  17. 17

    명령 줄을 사용하여 많은 파일의 txt를 복사하고 모든 텍스트가 포함 된 새 txt 생성

  18. 18

    편향된 비트 소스를 사용하여 균일 한 임의 비트 생성

  19. 19

    동적 이름이 지정된 파일에서 특정 날짜를 확인하고 쉘 스크립트를 사용하여 로그 아웃 생성

  20. 20

    범위 연산자를 사용하여 Powershell에서 알파벳 순서로 이름이 지정된 텍스트 파일 생성

  21. 21

    자동 생성 된 이메일과 비밀번호를 csv의 jmeter에 기록하여 다른 테스트에 사용합니다.

  22. 22

    ssh-keyscan을 사용하여 생성 된 known_hosts 파일에도 불구하고 pysftp.CnOpts () '호스트 키를 찾을 수 없음'오류

  23. 23

    쉘 스크립트를 사용하여 항상 4 자리 숫자와 이름이 지정된 파일을 생성하는 방법

  24. 24

    AngularJS를 사용하여 생성 된 문자열을 기반으로 텍스트 파일을 다운로드하는 방법은 무엇입니까?

  25. 25

    getRealPath를 사용하여 생성 된 파일은 WebContent 프로젝트 폴더가 아닌 .metada / .plugins 폴더에 생성됩니다.

  26. 26

    CREATE DIRECTORY를 사용하여 생성 된 Oracle 논리적 디렉토리의 파일 이름을 어떻게 쿼리합니까?

  27. 27

    CLion에서 CMake를 사용하여 소스 파일 생성 후 사용

  28. 28

    ConfigParser를 사용하여 python 파일의 .properties 파일에 저장된 속성에 액세스하는 방법

  29. 29

    os.path를 사용하여 파일 검색으로 CSV 파일 생성 시도

뜨겁다태그

보관