Automated Test Framework (ATF) テストは、作成/削除/更新されたレコードをロールバックしませんIssue Automated Test Framework (ATF) テストが完了すると、作成/削除/更新されたレコードがプラットフォームによってロールバックされる。ただし、ロールバックが行われない場合があります。 Cause ATF レコードがロールバックされない原因となるシナリオはいくつかあります。 何もロールバックされません。 これは、[sys_rollback_context] にレコードが [進行中] (in_progress) または [現在ロールバック中、元に戻す] (元に戻す) に残っている場合に発生する可能性があります。これにより、プラットフォームで他のロールバックが実行されなくなります。一部のファイルがロールバックされません。 ATF は、同じセッション内で挿入/更新/削除されたレコードのみを追跡します。何かが別のセッション ID でレコード操作をトリガーした場合、その操作は追跡されません (ワークフロー、スケジュール設定済みジョブなど)。たとえば、 タイマーオブジェクト は常に「System」の下のワーカースレッドで実行されます。このワークフローによって作成されたレコード (タイマーの後) はロールバックコンテキストではキャプチャされません。テストによって行われた更新はキャプチャされます。 新しいシナリオ/症状: テストの実行が終了する前に、フロー/サブフローによってトリガーされたすべてのプロセスが完了していない場合、フローをトリガーまたは実行する ATF テストが断続的にロールバックしないことがあります。完了を待機するようにマークされていない非同期プロセスまたはサブフローが存在する可能性があり、それがこの動作を引き起こす可能性があります。解決策:フローと、フローによってトリガーされたすべてのプロセスが完了するのをステップが待機するように、フロー実行ステップを設計してくださいResolutionまず、現在実行中としてマークされているロールバックコンテキストが何もしていないことを確認する必要があります。 このワークアラウンドは、以下に示すようなスクリプトを使用してsys_rollback_contextステータスを強制的に「記録済み」に戻すことです。これにより、フォームの [ステータス] フィールドが読み取り専用である UI の ACL をバイパスしてテーブル「sys_rollback_context」が更新されます。 fixContextState();function fixContextState() { var gr = new GlideRecord('sys_rollback_context'); gr.get('___SYS_ID_OF_SYS_ROLLBACK_CONTEXT___'); gr.state = 'recorded'; gr.update();} 2. ATFロールバック後にファイルが残るため、sys_created_byユーザーを明確に識別し、そこから論理的にトレースできます。レコードがワークフローによって作成され、タイマーを使用する場合は、SM チームに相談して、レコードを代替できるかどうかを判断してください。