行。我有一个运行这个命令的类:
ffmpeg_command = "ffprobe -v quiet -print_format json -show_format -show_streams %s" % self.absolute_path
self.absolute_path 是电影的路径,比方说 .mpg 文件。
我用于测试的文件是 4GB 大,我不想在我的 GIT 存储库中提交它。
所以我正在考虑模拟这个文件并创建一个名为:
mock.mpg
当作为 ffprobe 命令的输入提供时,它将返回与实际 mpg 电影相同的字符串。那可能吗?
或者我应该选择什么其他方法?
这是我的课:
class Movie(object):
absolute_path = None
info = None
def __init__(self, path):
self.absolute_path = "%s/%s" % (os.getcwd(), path)
if(os.path.exists(self.absolute_path) is False):
raise IOError("File does not exist")
self.info = json.loads(self.get_info())
def get_info(self):
ffmpeg_command = "ffprobe -v quiet -print_format json -show_format -show_streams %s" % self.absolute_path
return subprocess.check_output(ffmpeg_command, shell=True)
这就是我将如何对其进行单元测试:
class MovieTest(unittest.TestCase):
def test_foo(self):
movie = Movie("tests/test_1.mpg") # this file should be a mock file!!!