zoukankan      html  css  js  c++  java
  • 使用Unittest做单元测试,addTest()单个case的时候却执行全部的case

    参考:

    http://tieba.baidu.com/p/6008699660

    首先造成这个结果的原因是pycharm配置问题

    问题验证:

    测试代码:

    import unittest
    class Testadd(unittest.TestCase):
    
        def setUp(self):
            self.a = 20
            self.b = 10
    
        def test_add(self):
            result = self.a + self.b
            self.assertEqual(result,30)
        def test_sub(self):
            result = self.a -self.b
            self.assertEqual(result,10)
    
    if __name__ == "__main__":
        suite = unittest.TestSuite()
        suite.addTest(Testadd("test_add"))
        runner = unittest.TextTestRunner()
        runner.run(suite)

    pycharm执行效果:

    命令行执行效果

     问题解决:

    1. 点击pycharm的右上角下拉菜单,点击Edit configurations

       
    2. 将Python tests里的对应文件的py.test for...或者unittest for...的文件删除(选中后点击左上角的减号)

       

    3. 点击+,在下拉菜单中选择Python,然后在右边的script path里...选中所要运行的文件

    4. 最后点击ok即可,再在所要运行的文件处(最好是main处)点击右键就会发现run unittest变成了run

    再次在pycharm中运行,well done

    总结:

    执行unittest in demoSingle就会运行全部case

    而如果运行py文件本身就会只运行addsuite添加的用例

  • 相关阅读:
    DWVA系列-2-csrf Medium等级 绕过refer的csrf 有点小曲折
    DWVA系列-2-csrf low等级
    DWVA系列-1-brute Impossible等级 预防SQL注入 一次性token+预编译
    DWVA系列-1-brute medium等级
    DWVA系列-1-brute low等级
    获取SD卡剩余容器
    MD5Encoder
    本地缓存
    内存缓存
    网络缓存
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/11046156.html
Copyright © 2011-2022 走看看