如何从其他模块运行unittest.main()函数?

时间:2018-10-19 13:29:52

标签: python unit-testing python-unittest

我有一个API,其中写有单元测试。问题在于,API不能从终端作为“独立”脚本运行,而必须从自定义框架运行。在该API中,有一个函数基本上会调用unittest.main(),但是如果该函数是从“外部”运行的,则找不到测试用例。对于这种问题有共同的解决方案吗?

1 个答案:

答案 0 :(得分:1)

您可以通过传递该模块的名称作为第一个参数(或unittest.main())来告诉module=从另一个模块加载测试。

例如,要使用 current 模块名称,请使用:

unittest.main(__name__)

您可能想study the code that implements this functionalityunittest.mainTestProgram class的别名,它使用标准的unittest API到discover, load and run tests。如果需要更多控制,直接使用API​​可能会很有用。