不会引发异常

Ven*_*chu 0 python django exception

我的代码如下:

def getAllVehicles(self):
    try:
        vehobj = Vehicles.objects.all()            
    except VehicleDoesNotExists, e:
        logger.debug("Exception in getAllVehicles() is :::: %s ", e)
    return vehobj
Run Code Online (Sandbox Code Playgroud)

这是我的测试用例:

def test_getAllVehicles(self):
    Vehicles.objects.all().delete()
    instance = Vehicles()
    self.assertRaises(VehicleDoesNotExists, instance.getAllVehicles)
Run Code Online (Sandbox Code Playgroud)

永远不会提出异常,但我要求:

 Vehicles.objects.all() 
Run Code Online (Sandbox Code Playgroud)

提出例外.
代码覆盖率要求我执行except块.

ret*_*ile 6

Vehicles.objects.all()会给你一个空列表......这是正确的行为.如果你想引发异常,你可以测试一个空列表和raise VehicleDoesNotExists(...)你自己...但我不明白为什么你想要.