python - 当测试文件拆分为多个文件时,Python 测试资源管理器无法识别 VS Code 中的测试
问题描述
当我在与我的测试 VS 代码相同的文件中有 BaseTestCase 时,测试资源管理器能够识别我的测试。
文件夹结构
MyProject/
app/
test/
myworking_test.py
base.py
mynotworking_test.py
myworking_test.py这个可以通过 VS 代码资源管理器识别
import unittest
class BaseTestCase(unittest.TestCase):
def setUp(self):
self.num = 1
def tearDown(self):
self.num = None
class MyTest(BaseTestCase):
def runTest(self):
self.assertEqual(self.num, 1)
如果我将其拆分为 2 个文件,其中 BaseTestCase 是另一个文件并在另一个文件中进行测试,那么我该如何配置它。
基础.py
import unittest
class BaseTestCase(unittest.TestCase):
def setUp(self):
self.num = 1
def tearDown(self):
self.num = None
mynotworking_test.py
from test.base import BaseTestCase
class MyTest(BaseTestCase):
def runTest(self):
self.assertEqual(self.num, 1)
根据以下建议更新:
解决方案
from base import BaseTestCase
class MyTest(BaseTestCase):
def runTest(self):
self.assertEqual(self.num, 1)
或者
import base
class MyTest(base.BaseTestCase):
def runTest(self):
self.assertEqual(self.num, 1)
编辑 1
如果我运行示例代码,问题似乎是文件名:base.py
我收到很多编译器警告。
除base外的任何其他名称都可以。
使用以下文件,我可以正常工作
base_test.py
import unittest
class BaseTestCase(unittest.TestCase):
def setUp(self):
self.num = 1
def tearDown(self):
self.num = None
mynowworking_test.py
from test.base_test import BaseTestCase
class MyTest(BaseTestCase):
def runTest(self):
self.assertEqual(self.num, 1)
或者
import test.base_test
class MyTest(test.base_test.BaseTestCase):
def runTest(self):
self.assertEqual(self.num, 1)
编辑 2
我重命名base_test.py
为base.py
.
将导入更改为:
from test.base import BaseTestCase
import test.base
我仍然在Problem
面板中有错误,但测试有效。
我关闭 VSC 并重新启动它。
现在Problem
面板没有显示错误base.py
并且测试工作。
看起来我有来自回购的原始文件,它可以工作。
但是我第一次打开项目时它没有运行。
推荐阅读
- angular - 基于 Url 的调用方法
- javascript - JavaScript 承诺、解决、拒绝
- winapi - 使用 GDI+ 绘制亚洲文字会在分层窗口上显示透明字符
- javascript - 如何将输入元素动态插入到模态中?
- ruby-on-rails - 为什么在尝试将占位符添加到我的 Rails 表单时出现语法错误?
- javascript - 每个方法在等待 ajax 时阻止操作的最佳实践?
- python - 不同模型参数的相同结果
- ios - 自动布局约束条件
- apache-kafka - Kafka Connect - 处理删除表事件
- android - Android下如何交换方法体