trend.pyとtest_trend.pyは同じフォルダにあります。私はインスタンスメソッドperform_analysisから呼び出される関数find_regres_valuesを持つクラスTrendを持っています。python関数の絶対インポート
trend.py:test_trend.py
from trend import find_regres_values
class ConsecRegions(unittest.TestCase):
def test_find_regres_values_decreas_min_before_max(self):
#initialize some values
output = find_regres_values(vals_reg, first, trend_type)
self.assertEqual(output, result)
で
class Trend:
def __init__(self, values, trend_type):
self.all_values = values
def permorn_analysis(self, first, trend_type):
#blabla
vals_reg = ["a", "b", "c", "d"]
find_regres_values(vals_reg, first, trend_type)
def find_regres_values(vals_reg, first, trend_type):
#do somethin
pass
それは私にエラーを示しています
File "test_trend.py", line 2, in <module>
from trend import find_regres_values
ImportError: cannot import name find_regres_values
私はテストのために一つの関数をインポートするにはどうすればよいですか?
あなたのpythonバージョン2.xに関する詳細を追加してください。3.x – GeoStoneMarten
あなたの関数は 'class'の中にあります。そのクラスをインポートし、必要に応じてインスタンス化してメソッドを使用する必要があります。 –
@Tonja修正がありません:コード内で、一部は実際のリストに照らしてエラーなしでテストします。 find_regres_valuesにインデントの問題があります... – GeoStoneMarten