簡體   English   中英

用於單元測試的最小音頻(wav或mp3)文件(以字節為單位)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM