<tfoot id='LhIUf'></tfoot>

  • <small id='LhIUf'></small><noframes id='LhIUf'>

        <bdo id='LhIUf'></bdo><ul id='LhIUf'></ul>
    1. <legend id='LhIUf'><style id='LhIUf'><dir id='LhIUf'><q id='LhIUf'></q></dir></style></legend>
    2. <i id='LhIUf'><tr id='LhIUf'><dt id='LhIUf'><q id='LhIUf'><span id='LhIUf'><b id='LhIUf'><form id='LhIUf'><ins id='LhIUf'></ins><ul id='LhIUf'></ul><sub id='LhIUf'></sub></form><legend id='LhIUf'></legend><bdo id='LhIUf'><pre id='LhIUf'><center id='LhIUf'></center></pre></bdo></b><th id='LhIUf'></th></span></q></dt></tr></i><div id='LhIUf'><tfoot id='LhIUf'></tfoot><dl id='LhIUf'><fieldset id='LhIUf'></fieldset></dl></div>

        如何在Python中测试命令行应用程序?

        How to test command line applications in Python?(如何在Python中测试命令行应用程序?)
          <tbody id='i3ech'></tbody>
          <i id='i3ech'><tr id='i3ech'><dt id='i3ech'><q id='i3ech'><span id='i3ech'><b id='i3ech'><form id='i3ech'><ins id='i3ech'></ins><ul id='i3ech'></ul><sub id='i3ech'></sub></form><legend id='i3ech'></legend><bdo id='i3ech'><pre id='i3ech'><center id='i3ech'></center></pre></bdo></b><th id='i3ech'></th></span></q></dt></tr></i><div id='i3ech'><tfoot id='i3ech'></tfoot><dl id='i3ech'><fieldset id='i3ech'></fieldset></dl></div>

          <tfoot id='i3ech'></tfoot>
            <bdo id='i3ech'></bdo><ul id='i3ech'></ul>
          • <small id='i3ech'></small><noframes id='i3ech'>

                  <legend id='i3ech'><style id='i3ech'><dir id='i3ech'><q id='i3ech'></q></dir></style></legend>

                1. 本文介绍了如何在Python中测试命令行应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我知道Pythonunittest。我有一些使用它测试Python子程序的经验。

                  现在我需要添加测试用Python编写的命令行应用程序(而不是只是一个Python函数)。我希望在stdin中使用某些参数和某些输入来调用它,在stdout中使用测试输出来调用它。

                  如何将命令行工具测试与其他unittest测试用例集成?

                  或使用什么代替unittest

                  推荐答案

                  您仍然可以使用标准的unittest格式,并将整个应用程序作为标准函数进行测试。创建一个包装器,使脚本入口点成为一个简单的包装器,如下所示:

                  if __name__ == "__main__":
                      sys.exit(main(sys.argv))
                  

                  只要您不滥用全局变量来保持状态,您只需要测试main()函数。

                  如果您想测试您无法控制的脚本,您仍然可以通过编写如下测试来使用unittestsubprocess

                  def test_process(self):
                      result = subprocess.run(['your_script', 'your_args', ...], capture_output=True)
                      self.assertIn('expected out', result.stdout)
                  
                  def test_process_failure(self):
                      result = subprocess.run(['your_script', 'your_args', ...], capture_output=True)
                      self.assertEqual(result.returncode, 1)
                  

                  这篇关于如何在Python中测试命令行应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)
                  Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
                  Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)
                  Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)
                  Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)
                  Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)
                      <tbody id='oPvlh'></tbody>
                      <legend id='oPvlh'><style id='oPvlh'><dir id='oPvlh'><q id='oPvlh'></q></dir></style></legend>
                      • <bdo id='oPvlh'></bdo><ul id='oPvlh'></ul>
                        <tfoot id='oPvlh'></tfoot>

                          1. <i id='oPvlh'><tr id='oPvlh'><dt id='oPvlh'><q id='oPvlh'><span id='oPvlh'><b id='oPvlh'><form id='oPvlh'><ins id='oPvlh'></ins><ul id='oPvlh'></ul><sub id='oPvlh'></sub></form><legend id='oPvlh'></legend><bdo id='oPvlh'><pre id='oPvlh'><center id='oPvlh'></center></pre></bdo></b><th id='oPvlh'></th></span></q></dt></tr></i><div id='oPvlh'><tfoot id='oPvlh'></tfoot><dl id='oPvlh'><fieldset id='oPvlh'></fieldset></dl></div>

                            <small id='oPvlh'></small><noframes id='oPvlh'>