我想为读取文件并执行某些操作的管理命令编写测试。一切都按预期工作。为了干净地组织我的测试文件(在这种情况下,我检查读取的 CSV 文件是否具有某些验证),我想将测试 CSV 文件放在my_project/my_app/tests/files/test_me.csv
. 而且,当我运行测试时,Django 正在抛出这个错误django.core.exceptions.SuspiciousFileOperation: The joined path (/code/my_project/my_app/test/files/test_me.csv) is located outside of the base path component (/code/media)
。
这是我的测试代码,
class CommandTestCase(TestCase):
def test_command_load_client(self):
"""Happy path for load client from a CSV File"""
call_command('my_command_that_does_some_csv_checks',
os.path.join(BASE_DIR, "my_app/tests/files/test_me.csv"),)
# self.assertEqual(some_assertions, 1)
但是,如果我将此文件放在下面/code/media
,则不会发生此错误。但我不想将它存储在/code/media
.
如何解决这个问题呢?注意:我来自 Rails 背景。