Python调试失败-执行结束

Python调试失败-执行结束,python,visual-studio,unit-testing,debugging,Python,Visual Studio,Unit Testing,Debugging,我正在用Visual Studio 2015(Python工具扩展)调试Python 我对Python非常陌生,奇怪的是,当我调试下面的代码时,它会运行到第18行,然后是第19行,然后是第18行,在那里它会随意退出。没有击中我的接球挡,没有击中20线或21线。没有错误消息。有人知道这是什么原因吗 单元测试正在测试Git Hub上常见的google api功能 我的代码: import unittest import sys import os import exceptions from _mu

我正在用Visual Studio 2015(Python工具扩展)调试Python

我对Python非常陌生,奇怪的是,当我调试下面的代码时,它会运行到第18行,然后是第19行,然后是第18行,在那里它会随意退出。没有击中我的接球挡,没有击中20线或21线。没有错误消息。有人知道这是什么原因吗

单元测试正在测试Git Hub上常见的google api功能

我的代码:

import unittest
import sys
import os
import exceptions
from _multiprocessing import flags


sys.path.insert(0, "C:\Users\Jamie.Marshall\Documents\Visual Studio 2015\Projects\GetDCMPlalyStationData\DCMPSDataQuery")

try:
    from dfareporting_utils import get_arguments
except ImportError:
    print(ImportError.message)
    print('No Import')


try:
#Line18 
    class Test_dfareporting_utility_test(unittest.TestCase):   
#Line19                                                 
        def test_A(self):                           
            flags = get_arguments(sys.argv, __doc__, parents=[argparser])
            self.assertEqual(flags[0], "")

except Exception as ex:
    print(ex.message)
    print(ex.source)  

    if __name__ == '__main__':
        unittest.main()

初始化一个类时,只执行该类的签名行、该类顶层的代码和内部方法的签名行。方法中的代码仅在调用方法时执行。例如:

E class MyClass:
|
E     my_class_attribute = 1
|
E     def my_method(self, a):
N         b = a + 1
N         return b

E = excuted; N = not executed
除非在类或def行上引发错误,否则您在类中的尝试将无效

结果是,除非在其中一行中出现错误,否则您对类的尝试将无效


要捕获测试中的异常,请将
try
/
except
放在方法中。但实际上,您的测试中应该有一个已定义的状态,并且错误应该是预期的或不存在的,因此最好是预期错误并使用self.assertRaises(YourErrorType):

初始化类时,只执行内部方法的签名行和代码。方法中的代码仅在调用方法时执行。除非在
class
def
行中出现错误,否则您对该类的
try
将无效。结果如何?删除try模块?克劳斯所说的应该是一个很大的可能性“你在课堂上的尝试将不会有任何效果,除非在课堂上或def行上出现错误。”克劳斯是对的。我不明白脚本的运行顺序@克劳斯D:你能把答案贴出来,这样我就可以标记答案了吗?非常感谢。