【问题标题】:Django unittest run specific test syntaxDjango unittest 运行特定的测试语法
【发布时间】:2022-01-12 22:31:28
【问题描述】:

我想在管道中从我的 app bank/tests.py 运行一个特定的单元测试,但我不断收到错误,我相信我在这里的语法上遗漏了一些东西

这是我的测试:

class SettingsTestCase(TestCase):
    def test_timezone_default(self):
        target_timezone = 'Europe/Copenhagen'
        self.assertEqual(target_timezone, settings.TIME_ZONE)
    print("Test: Correct timezone")

这就是我在管道中调用测试的方式:

...
script:
    - echo "Unit test...."
    - python manage.py test bank/tests.py:SettingsTestCase.test_timezone_default
...

这是管道失败时的错误信息:

RROR: bank/tests (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: bank/tests
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
ModuleNotFoundError: No module named 'bank/tests'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 1

有什么建议吗?

【问题讨论】:

  • 哥本哈根人你好。 :) 那么您是否尝试过阅读文档? docs.djangoproject.com/en/4.0/topics/testing/overview据此,如果你想提供测试文件所在的路径,你需要在它的末尾写一个/。所以我建议尝试 python manage.py test bank/

标签: django django-unittest gitlab-ci.yml


【解决方案1】:

试试这个:

python manage.py test bank.tests.SettingsTestCase.test_timezone_default

【讨论】:

    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 2016-05-04
    • 2018-03-16
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    相关资源
    最近更新 更多