Как протестировать скрипт Python с входным файлом, заполненным тестовыми примерами?

StackOverflow https://stackoverflow.com/questions/1024529

  •  06-07-2019
  •  | 
  •  

Вопрос

Я участвую в онлайн-конкурсах судей и хочу протестировать свой код с помощью файла .in, полного тестовых примеров для синхронизации моего алгоритма.Как я могу заставить свой сценарий принимать данные из этого файла .in?

Это было полезно?

Решение

Таким образом, скрипт обычно берет тестовые случаи из стандартного ввода, и теперь вы хотите протестировать тестовые случаи из файла?

Если это так, используйте операцию перенаправления < в строке cmd:

my_script < testcases.in

Другие советы

Чтение из файла (ов) и / или стандартного ввода:

import fileinput
for line in fileinput.input():
    process(line)

PyUnit " стандартная среда модульного тестирования для Python " может быть то, что вы ищете.

<Ч>

Выполнение небольшого сценария, который выполняет что-то вроде этого:

#!/usr/bin/env python
import sys

def main():
    in_file = open('path_to_file')
    for line in in_file:
        sys.stdout.write(line)

if __name__ == "__main__":
    main()

И запустить как

this_script.py | your_app.py

Вы можете сделать это в отдельном файле.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top