4
異なる関数(たとえばMeasureRadius)からの入力を取得するPythonコードをテストしたいと思います。 MeasureRadiusはまだ受信していない計測器に依存しているため、準備ができていません。 iRadiusで異なる値でCalculateAreaをテストし、MeasureRadiusからiErrorCodeを出力する最良の方法は何ですか?自動化された方法がいいだろう。 unittestを使用するつもりでしたが、MeasureRadiusから返されたiRadiusとiErrorCodeをどのように変更するのか分かりません。Pythonコードのテスト
class Instrument():
def MeasureRadius(self):
iErrorCode = 0
sErrorMsg = ""
iRadius = 0
try:
#tell the instrument to measure param A, the measurement goes into iRadius param
#iRadius = Measure()
except:
sErrorMsg = "MeasureRadius caught an exception."
iErrorCode = 1
return iRadius, iErrorCode, sErrorMsg
def CalculateArea():
"""calculate area from the measured radius. Returns area, error code, error message"""
iRadius, iErrorCode, sErrorMsg = Instrument.MeasureRadius()
if iErrorCode != 0:
return 0.0,iErrorCode, sErrorMsg
if iRadius <1 :
return 0.0,1, "Radius too small."
fArea = 3.14*iRadius*iRadius
return fArea,0,""
あなたのインデントは読みにくいです。少なくとも3つのスペース。理想的には4.大文字の名前を持つ 'def MeasureRadius'メソッド関数がありますが、これも悪い考えです。 –