[英]Minimal audio (wav or mp3) file in bytes for unit testing
我想找到一个最小的音频文件(例如下面的testfile_gif
)进行单元测试。
我不想从硬盘上加载它(如此处 )。
我希望第二项测试能够像第一个一样执行。
import magic
from django.core.files.uploadedfile import SimpleUploadedFile
class TestFiles(TestCase):
def test_working(self):
# Test an Image File #
testfile_gif = (
b'\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x00\x00\x00\x21\xf9\x04'
b'\x01\x0a\x00\x01\x00\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02'
b'\x02\x4c\x01\x00\x3b')
gif_file = SimpleUploadedFile(name='image.gif', content=testfile_gif,
content_type='image/gif')
mime = magic.from_buffer(gif_file.read(1024), mime=True)
self.assertEqual('image/gif', mime)
def test_not_working(self):
# Test an Audio File #
testfile_audio = b'What should be written in here?'
audio_file = SimpleUploadedFile(name='music.mp3',
content=testfile_audio,
content_type='audio/mpeg')
mime = magic.from_buffer(audio_file.read(1024), mime=True)
self.assertEqual('audio/mpeg', mime)
最好,我不想使用任何包(例如import mock
)。
UPDATE
这是带有audio/mpeg
哑剧的mp3
文件:
b'MM\x00*\x00\x00\x00\x08\x00\x03\x01\x00\x00\x03\x00\x00\x00\x01\x00\x01'
b'\x00\x00\x01\x01\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x01\x11\x00\x03'
b'\x00\x00\x00\x01\x00\x00\x00\x00'
这是一个非常简单的.wav文件。 您可以使用wave模块使用python轻松实现这些功能。
b'RIFF$\x00\x00\x00WAVEfmt \x10\x00\x00\x00\x01\x00\x01\x00\x00\x04\x00\x00\x00\x04\x00\x00\x01\x00\x08\x00data\x00\x00\x00\x00'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.