我可以單元測試Informatica Powercentre工作流程嗎?我可以單元測試Informatica Powercentre工作流程嗎?
編輯: 更具體地說,我可以嘲笑來源和目標,並測試之間的步驟?例如。如果我有一個帶有Oracle源和文本文件目標的工作流,我可以在沒有Oracle和文本文件的情況下對其進行測試。
我可以單元測試Informatica Powercentre工作流程嗎?我可以單元測試Informatica Powercentre工作流程嗎?
編輯: 更具體地說,我可以嘲笑來源和目標,並測試之間的步驟?例如。如果我有一個帶有Oracle源和文本文件目標的工作流,我可以在沒有Oracle和文本文件的情況下對其進行測試。
不,你不能。
當您創建並保存映射時,Informatica會驗證映射是否在語法上有效。如果不是,它會給你一個錯誤信息。在底部面板中查找錯誤。您可以通過轉到映射菜單>驗證來驗證映射。
您可以類似地驗證工作流程:工作流程菜單>驗證。
要運行工作流程,您必須具有可用的連接源和目標。如果您不想寫入目標或不想進行完整卷測試,則可以在會話級別使用「啓用測試加載」(「編輯」>「屬性」>「啓用測試加載」)並設置「要測試的行數」 。
是的,您可以運行工作流並測試輸出目標表。 (在工作流程管理器中,右鍵單擊工作流程,然後單擊「從開始運行工作流程」。
一旦工作流程成功,查看目標中的數據以查看映射和轉換做工精細。
就像任何其他的單元測試,你需要運行您的工作流程之前識別信號源(和目標),並在目標預期結果的記錄。
例如:如果我想要測試具有SCD type2邏輯的映射,可以運行兩次工作流程並根據需要更新源列,並在運行工作流程後檢查當前記錄是否已更新corr如果新記錄的歷史版本的新行已正確更新
我們在Informatica中試圖做的是構建源文件,構建預期的輸出文件,然後運行工作流以生成實際的輸出文件。然後,我們對我們期望的輸出文件與我們的實際輸出文件進行字節碼比較。我們在這裏測試的是我們的映射邏輯是否被實現,因爲我們認爲它應該被實現。
以下Python腳本將做的測試:
import filecmp
import csv
import sys
testRepository = open('testRepository.txt','rb')
testReader = csv.reader(testRepository)
print 'Test Number\tResult'
for test in testReader:
print test[0] + '\t\t' + str(filecmp.cmp(test[1], test[2]))
不完全是嘲諷,但實際上將是什麼,要正確測試您的映射是正確的。我的Informatica本身檢查映射的有效性。
我可以嘲笑源(和目標)嗎? – 2010-09-01 05:21:57
如果你想......你可以從更高的環境中實際導出和導入表格,但是在大多數情況下我沒有看到它的需要。這是測試大量的數據..? – 2010-09-01 14:29:17