在Python的unittest中运行单个测试

6 浏览
0 Comments

在Python的unittest中运行单个测试

我在/tests目录中有一个test_method()方法。我想要从命令行中运行单个测试。而不是使用test_module.TestClass.test_method,我希望只需提及它:\n$ ./test-runner test_method\n并让discover来确定test_method属于哪个test_module以及哪个TestClass。我可以通过在所有存在的test_module中基于字符串运行搜索来获取test_module。但是如何在文件中获取包含test_method的TestClass呢?有什么想法吗?

0
0 Comments

在使用unittest进行单个测试时,可能会遇到以下问题:

- 需要手动编写代码来运行单个测试,比较繁琐。

- 可能不清楚如何选择要运行的测试用例。

为了解决这些问题,可以采取以下方法:

- 使用nose或者py-test来运行单个测试。nose可以通过使用nosetests命令来运行测试,而py-test则是更好的选择。同时,tox也是一个可选工具。

- 在模块中添加一个main函数,然后通过if __name__ == "__main__"来运行测试。如下所示:

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

- 参考unittest文档中的Basic example,查看如何使用main函数来运行测试。

- 参考unittest文档中的unittest.main,了解main函数的参数用法,可以根据需要选择要运行的测试。

通过使用上述方法,可以方便地运行单个测试,并且可以根据需要选择要运行的测试用例。

0