当前位置: 首页 > 知识库问答 >
问题:

当测试位于同级文件夹中时,通过命令行运行单个测试

夏令秋
2023-03-14

我有一个文件夹结构:

app/
|
|-src/
| |
| |-Code.py
|
|-tests/
  |
  |-__init__.py
  |-test_Code.py

我通过发出以下命令来运行测试:

app$ python3 -m unittest discover

因此,我所有的测试都来自test\u代码。py文件正在运行。

我想运行一个单一的测试从test_Code.py文件。

“测试代码”的内容。这些是:

import unittest
from src.Code import Code

class TestCase1(unittest.TestCase):

    def test_Code1(self):
        ...

    def test_Code2(self):
        ...

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

关于运行单个测试有一个问题:从unittest运行单个测试。通过命令行测试用例。

答案是:

python testMyCase.py MyCase.testItIsHot

就我而言(我想):

app$ python3 tests/test_Code.py TestCase1.test_Code1

不幸的是,这会导致一个错误:

ImportError:没有名为“src”的模块

有人评论说,如果测试位于子目录中,建议的方法不起作用。建议通过一项决议:

python test/testMyCase.py测试。MyCase.testItIsHot

因此,我尝试:

app$ python3 tests/test_Code.py test_Code.TestCase1.test_Code1

这会导致同样的错误。

我还尝试了一些不同的方法:

app$ python3 -m unittest tests/test_Code.py test_Code.TestCase1.test_Code1

但这运行所有的测试。

问题是:当测试位于同级文件夹中时,如何通过命令行运行单个测试?

共有1个答案

陶俊晤
2023-03-14

这应该行得通。

python -m unittest -v tests.test_Code.TestCase1.test_Code1

假设src也是一个模块

 类似资料:
  • 问题内容: 在我们的团队中,我们定义了大多数测试用例,如下所示: 一门“框架”课: 还有很多测试用例,例如testMyCase.py: 当我编写新的测试代码并希望经常运行它并节省时间时,我要做的是在所有其他测试之前放置“ __”。但这很麻烦,使我从正在编写的代码中分散了注意力,并且由此产生的提交噪音实在令人讨厌。 因此,例如,当对进行更改时,我希望能够做到这一点: 并运行 只 我该如何实现? 我尝

  • 在我们的团队中,我们这样定义大多数测试用例: 一个“框架”类: 我试图重写部分,但是由于我是Python新手,我感到迷路了,除了方法之外,我一直在研究其他的东西。

  • 类似于这个问题。然而,当使用ddt时,公认的解决方案不适用于我。 例如: 如果我在终端上运行这个,它就不起作用了

  • 问题内容: 即使我这样做,在64位Windows上运行也会给我以下错误: 问题答案: 请确保您使用的版本,并且您有选项(如记录在这里)。 例如: 这将创建一个带有清单的jar,该清单可以重新创建您的类路径(而不是通过变量设置它,这是受Windows命令行限制问题影响的方法)。

  • 问题内容: 如何从命令行运行Junit 4.8.1测试套件?另外,我想使用JUnit 4.8引入的类别,有没有一种方法可以从命令行指定要运行的类别。 问题答案: 从4.8开始,无法从命令行指定类别。