하드웨어 테스트에 사용되는 코 테스트 집합이 있습니다. 예를 들어, 아래의 테스트는 시스템에서 각 모드에 대한 경보를 테스트에 관한 것이다 :다른 테스트 대상에 대한 코 테스트 구성
는import target
modes = ("start","stop","restart","stage1","stage2")
max_alarm_time = 10
# generate tests for testing each mode
def test_generator():
for m in modes:
yield check_alarm, m, max_alarm_time
# test alarm for a mode
def check_alarm(m, max_alarm_time):
target.set_mode(m)
assert target.alarm() < max_alarm_time
내 테스트의 대부분은 내가 시스템의 모든 modes
에 대한 특정 기능을 테스트하고이 모양을 가지고있다. 내 테스트는 여전히 또한 기존의 하드웨어에 대한 작업 할 물론
modes = ("start","stop","restart","stage1","stage2","stage3","stage4")
:
나는 이제 두 개의 추가 모드가 새로운 하드웨어를 테스트하는 테스트의 같은 세트를 사용하고 싶습니다. 자동화 된 테스트를 실행하려면 테스트 환경을 위해 연결된 하드웨어를 하드 코딩해야합니다. test_alarms.py와
def init(hardware):
global max_alarm_time
global modes
max_alarm_time = 10
if hardware == "old":
modes = ("start","stop","restart","stage1","stage2")
elif hardware == "new":
modes = ("start","stop","restart","stage1","stage2","stage3","stage4")
지금 대신에 다음과 같이보고 :
나는이 작업을 수행하는 가장 좋은 방법은 다음과 같이 paramaters.py 모듈을 만드는 것입니다 생각에서 그런import target
import parameters
# generate tests for testing each mode
def test_generator():
for m in parameters.modes:
yield check_alarm, m, parameters.max_alarm_time
# test alarm for a mode
def check_alarm(m, max_alarm_time):
target.set_mode(m)
assert target.alarm() < max_alarm_time
내 main 나는 다음과 같은 것을 가지고있다 :
import nose
import parameters
parameters.init("new")
nose.main()
이것은 당신의 생각에 유효한 접근법인가?
내 모든 테스트에서 내 모드를 사용하고 있으므로 한 곳에서 내 모드를 정의하는 것이 더 좋지 않습니까? 예를 들어 새 하드웨어에 대한 모드가 변경되면 모든 테스트를 변경하지 않고 한 곳에서 정의를 변경해야합니다. – Baz
테스트/하드웨어 유형의 비율로 나옵니다. 나는 네가 한 일을 잘못 본 것이 없다. 네가 잘하는 한! – Oleksiy