【发布时间】:2022-01-06 09:59:40
【问题描述】:
我正在尝试在 VSC 中设置一个工作区,我希望能够在 venv 中运行它。
root
- app
-/- modules
-/-/- __init__.py
-/-/- myModule.py
-/-/- myModule2.py
-/- __init__.py
-/- myApp.py
- test
-/- myTest.py
- venv
myApp.py
import random
import numpy as np
import modules.myModule as mm
x = mm.main()
myModule.py
from app.modules import myModule2
def main():
x = myModule2()
return x
我遇到的问题是我自己的模块可以在调试或测试(作为单元测试)中运行,但相同的设置不能同时运行。当我有from app.modules import myModule2 时,我可以运行测试但不能调试,当我有from modules import myModule2 时,我可以运行调试但不能测试。
我的启动.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
我的设置.json
{
"python.testing.unittestArgs": [
"-v",
"-s",
"./test",
"-p",
"*test.py"
],
"python.testing.pytestEnabled": false,
"python.testing.unittestEnabled": true,
"python.analysis.extraPaths": [
"./app"
]
}
如何设置我的工作区以同时运行两者?
编辑:
import unittest
from app.modules.myModule import main
class Test_Foo(unittest.TestCase):
def test_bar(self):
x = main()
assertEqual(x, 'foobar', 'not equal')
if __name__ == '__main__':
unittest.main()
添加了测试。
我对文件 myApp.py 运行调试,并从测试资源管理器运行测试。
EDIT2:
我在运行调试时遇到的错误是
Exception has occurred: ModuleNotFoundError
No module named 'app'
异常在from app.modules import myModule2行中名为myModule.py的文件中被捕获
【问题讨论】:
-
你在调试中运行得如何?
-
我正在使用侧边栏中的 VSC 调试。调试文件是launch.json
-
from . import myModule2??? -
显示 myTest.py.
-
"program": "${file}",→"module": "app.myApp",适合您的用例吗?
标签: python unit-testing debugging visual-studio-code