我正在尝试按照https://code.visualstudio.com/docs/python/unit-testing#_create-tests的要求使用Python教程。但是每次都没有发现测试,我也不能手动执行测试文件:运行0个测试。
我尝试在工作的工作区上执行此操作,然后尝试从头开始进行所有操作,但是两次结果都相同。另外,我尝试在VS Code Insiders和经典VS Code上使用Remote-WSL:
Version: 1.34.0-insider (user setup) Commit: 473af338e1bd9ad4d9853933da1cd9d5d9e07dc9 Date: 2019-05-01T00:22:05.899Z Electron: 3.1.8 Chrome: 66.0.3359.181 Node.js: 10.2.0 V8: 6.6.346.32 OS: Windows_NT x64 10.0.17134 Version: 1.33.1 (user setup) Commit: 51b0b28134d51361cf996d2f0a1c698247aeabd8 Date: 2019-04-11T08:27:14.102Z Electron: 3.1.6 Chrome: 66.0.3359.181 Node.js: 10.2.0 V8: 6.6.346.32 OS: Windows_NT x64 10.0.17134
basic.py
def just_method(number):
return number
if __name__ == "__main__":
print just_method(42)
basictest.py
import unittest
import basic
class MyBasicTests(unittest.TestCase):
def default_number(self):
number = 42
self.assertEqual(basic.just_method(number), number)
if __name__ == "__main__":
unittest.main()
settings.json 内容:
{
"python.testing.unittestArgs": [
"-v",
"-s",
".",
"-p",
"*test.py"
],
"python.testing.pyTestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.unittestEnabled": true,
"python.pythonPath": "/usr/bin/python"
}
能帮您找出问题所在吗?我很确定它位于我身边的某个地方。
答案 0 :(得分:1)
文件名和方法名对于测试发现很重要。如果您按照教程中的字母操作,那应该可以。
如果您想使用自己的代码,请尝试将default_number
更改为test_default_number
,并将basictest.py
更改为test_basic.py
。
答案 1 :(得分:0)
要继承一个类,必须使用super()方法。
class ChildClass(ParentClass):
def __init__(self, *args): # '*args' for arguments to this class
super().__init__(self, *args) # '*args' for arguments to pass in the parent class's __init__ method
在您的情况下:
# put imports here
class MyBasicTests(unittest.TestCase):
def __init__(self):
super().__init__()
def test_this(self):
number = 20
self.assertEqual(number, basic.just_method(number))