dongzhang1839 2018-02-10 00:44
浏览 24
已采纳

Golang中的单元测试模式识别

I am building unit testing of the application that uses os.Exit(1), once os.Exit(1) executes remaining test file are skipped with go test, I am thinking about suppressing os.Exit during the unit test execution only. I wonder how I can determine that app has been bootstrap from go test runner?

  • 写回答

1条回答 默认 最新

  • duanpai1033 2018-02-10 00:52
    关注

    You will find various ways to unit test method with os.Exit() in "Testing os.Exit scenarios in Go with coverage information (coveralls.io/Goveralls)".

    It uses a function which is:

    • os.Exit() when you are not testing

      var osExit = os.Exit
      
    • and "yourOsExit" when you are testing.

      func TestCrasher(t *testing.T) {
          // Save current function and restore at the end:
          oldOsExit := osExit
          defer func() { osExit = oldOsExit }()
          osExit = myExit
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧