파이썬에서 테스트 파일 wirtten : test1.py test2.py ... 그 중 하나를 실행하기 전에 인수를 사용하는 initialize.py 파일을 초기화해야합니다.boilerplateless tests
테스트 파일은 가능한 한 가볍고 쓰기 쉬워 야합니다.
- 는 입력 인수를
- 시작
- 이 initialize.py 에 의해 생성 된 변수를 사용하여 테스트 파일을 시작하는 인수와 함께 initialize.py 파일을 취합니다
나는 스크립트를 만들려면
-
,691 :
나는 몇 가지 방법에 대해 생각
요약 : 동일한 25 줄로 시작하는 파일이 100 개인 것처럼 나는이 파일을 한 파일에 넣고 매번 가져 오려고합니다. 나는 "첫 번째, 두 번째 thrid"나는
#! /usr/bin/python
import sys
import subprocess
source_content = "#! /usr/bin/python\n"+"import sys\n"
sourcefile = "file2.py"
txt_file = open(sourcefile)
source_content += txt_file.read()
sourcefile = "file3.py"
txt_file = open(sourcefile)
source_content += txt_file.read()
destinationfile = "Copyfile2.py"
target = open (destinationfile, 'w')
target.write(source_content)
target.close()
chmodFile = "chmod 777 "+destinationfile
chmod = subprocess.Popen(chmodFile, shell=True)
chmod.wait()
arguments = str("./"+destinationfile+" ")
arguments += " ".join(map(str,sys.argv[1:len(sys.argv)]))
startTest = subprocess.Popen(arguments, shell=True)
startTest.wait()
에 성공
을 ./File1.py 첫 를 시작하고 싶어
#File1.py
var1 = sys.argv(1)
#File2.py
var2 = var1+"second"
#File3.py
var3 = var1+var2+"third"
print var3
:
일을 볼 수있는 다른 방법은 3 개 개의 파일입니다
하지만 test2에서 "#!/usr/bin/python"을 삭제하고 동일한 이름의 파일에서 var1을 sys.arg [1]로 바꾸고 테스트해야했습니다. 그리고 좋은 솔루션이라고 생각하지 않습니다 ...
좋은 해결책이지만 각 테스트 파일에 글을 쓰는 것은 여전히 많은 일입니다. 테스트 파일이라는 사실은 중요하지 않습니다. 같은 25 줄로 시작하는 100 개의 파일이있는 것처럼 나는 25 줄을 하나의 파일에 넣고 매번 가져 오려고합니다. – elbajo
@ user2707890 : 분명히 더 많은 것이 있습니다 ... 그래서 당신은 많은 테스트 파일 (test1.py, test2.py 등)과 모든 테스트에 공통된 이니셜 라이저 기능을 가지고 있습니다. 퍼지 비트가 있습니다 : 테스트를 어떻게 그룹화합니까? 테스트 파일 당 하나? 그리고 어떻게 테스트를 할 계획입니까? 동일한 초기화 함수 인수를 사용하여 한 번에 모두? 테스트마다 또는 테스트 파일 단위로 지정된 초기화 프로그램 인수를 사용하여 한 번에 모두? 한번에 한? – Sheena
테스트는 폴더에 그룹화되어 있지만 하나씩 또는 폴더별로 하나씩 실행할 수 있기를 원합니다. 두 개의 스크립트를 만들려고했으나 첫 번째 테스트를 만들 수 있다면 다른 하나를 쉽게 만들 수 있도록 초점을 맞추고 있습니다. 예, 파일 당 하나의 테스트입니다. (테스트 파일은 약 150 줄입니다) "전체 테스트"의 경우 모든 테스트에 대해 동일한 인수입니다. – elbajo