在我写的一点Python中(一个命令行和过滤器测试工具:claft)我想要一种简单的方法来调用内置测试套件(doctest),我决定如下:
if 'DOCTEST' in os.environ and os.environ['DOCTEST']==sys.argv[0]:
_runDocTests()
sys.exit()
因此,如果DOCTEST变量是为其他程序设置的,我将忽略它。实际上,我的测试是:DOCTEST=./claft./claft,或者如果我想详细一点,我可以使用:DOCTEST=./claft verbose=1./claft,所以即使我将DOCTEST=./claft保留在我的环境中,测试代码也只有在我从自己的目录中调用程序时才会运行。如果我切换到我的一个测试套件并使用相对路径调用它,那么我就不会意外地触发这个函数。在
还有人用过这种惯例吗?在
对于避免环境变量名称之间的冲突,还有什么其他建议或最佳实践?提供对测试线束功能的“隐藏”访问?在
(另外,如果有人想玩克拉夫特,请随意旋转一下。目前这是相当难看的代码,几乎不能证明概念。但它的功能很小。这也是教会自己如何使用Mercurial和bitback的好方法。wiki和问题跟踪是发布关于claft反馈的最佳场所。在
既然已经在进行命令行解析,为什么不添加一个
selftest
选项呢?这样就不必担心任何冲突,调用也会更容易。在另一种避免命名空间与环境冲突的方法:查找myprogname_uDebug等。
相关问题 更多 >
编程相关推荐