0

django.test.TransactionTestCaseを使用してテストすると、実際のデータベースを使用していることがわかりました。

( django.test.TestCaseは正常に動作します!)

簡単なコードを使用して、自分のプロジェクトでこれを確認しました。

class TestInventoryTransactions(TransactionTestCase):
    def setUp(self):
        print(Item.objects.all())

    def test1(self):
        pass

    def test2(self):
        pass

これの出力は

[...Bunch of items...]
[]

最初に、空のテスト データベースではなく、実際のデータベースが使用されていることを示します。次に、最初のテスト後にデータベースからすべてを削除します。

これが予想される動作であるとは本当に思いませんし、なぜそれが起こるのかわかりません。

4

1 に答える 1

1

「manage.py test」を使用すると、この問題は発生しません。これは、テスト ファイルを手動で実行する場合にのみ発生します。

于 2013-04-14T16:01:50.400 に答える