简单的单元测试在 pycharm python 中不起作用

问题描述

当我尝试在 pycharm 中进行简单的单元测试时,它不起作用,输出是“Ran 0 Tests in 0.000s”,而当我在 Geany 中做完全相同的事情时,它起作用了,“Ran 1 Test in 0.000s”有人能找出原因吗?

import unittest

class Test(unittest.TestCase):
    def test_cos_tam(self):

        r = '200'
        self.assertEqual(r,'200')

unittest.main()
C:\Users\wycze\Desktop\python_work\WizualizacjaDanych\Scripts\python.exe "D:\pycharm\PyCharm Community Edition 2020.3.2\plugins\python-ce\helpers\pycharm\_jb_unittest_runner.py" --path C:/Users/wycze/Desktop/python_work/WizualizacjaDanych/test_python_repos.py
Testing started at 23:45 ...

----------------------------------------------------------------------
Launching unittests with arguments python -m unittest C:/Users/wycze/Desktop/python_work/WizualizacjaDanych/test_python_repos.py in C:\Users\wycze\Desktop\python_work\WizualizacjaDanych
Ran 0 tests in 0.000s


OK

Process finished with exit code 0

Empty suite

Empty suite

解决方法

this answer 和我自己的一些测试代码的启发,我将文件夹重新格式化为:

C:\USERS\ME\DESKTOP\SO_TEST2
└───src
    └───test
            test_python_repos.py
            __init__.py

带有一个空的 __init__.py 文件。我还在测试文件的最后一行添加了一个条件:

if __name__ == '__main__':
    unittest.main()

因为我认为除非您直接运行测试,否则您不希望它运行。我现在可以 cd 进入 src 目录并运行:

python -m unittest 的结果如下:

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

希望对你有用...

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...