Behave の出力をファイル (ログ ファイルとしましょう) にキャプチャしようとしています。日時に基づいて動作を実行するたびに、「@then」ステップで新しいログ ファイルを動的に作成しています。以下は、steps/xx.py ファイルにあるサンプル コードです。
def filecreation(filename):
chwd=os.chdir('C:\\Users\\xxx\\Desktop\\features\\test_features')
with open(filename, 'w+') as d:
pass
cur_ts = datetime.datetime.now()
log_time_stamp = str(cur_ts).split('.')[0].replace(' ',':').replace('-',':').replace(':','')
file_name = 'ATMorFrameRelay' + log_time_stamp + '.log'
filecreation(file_name)
pass
今、私は上記で作成されたログファイルに実行するたびに Behave 出力を送信しようとしています。コマンド「Behave -o [ファイル名]」が実行ごとにファイルを作成することは承知していますが、新しい実行ごとにSTDOUTを上記の作成されたファイルに送信すると考えられます。また、STDOUT を使用して本番環境のような環境でファイルに書き込み、問題を引き起こさない方が安全です。
私はPythonとBehaveの両方の初心者なので、それを達成する方法についての解決策/提案を楽しみにしています. 関連する資料や情報も非常に高く評価されます。
前もって感謝します