いくつかの環境変数に依存するDjangoアプリのテストを書き始めています。シェルでテストしているときは、OSをインポートして変数を指定でき、テストは問題なく機能します。ただし、それらをtests.pyに配置すると、これらの変数が見つからないため、キーエラーが発生します。これが私のテストの様子です:
from django.utils import unittest
from django.test.utils import setup_test_environment
from django.test.client import Client
import os
os.environ['a'] = 'a'
os.environ['b'] = 'b'
class ViewTests(unittest.TestCase):
def setUp(self):
setup_test_environment()
def test_login_returning_right_template(self):
""" get / should return login.html template """
c = Client()
resp = c.get('/')
self.assertEqual(resp.templates[0].name, 'login.html')
これは、これらの変数を初期化するのに間違った場所ですか?setUpで実行しようとしましたが、同じ結果になりました。それらは見つかりませんでした。テストスイートを実行する前に環境変数を初期化する方法に関する提案はありますか?ありがとう!ルカ