2017-04-05 74 views
1

我有一個應用程序使用custom traces/metrics寫入應用程序INsights,也使用REST API在儀表板上讀取數據。 我的問題是我的單元測試可以模擬自定義跟蹤(TelemetryClient)和REST API嗎?模擬微軟應用程序洞察API

我看到REST API有一個DEMO版本,但提供隨機信息。如果我可以設置DEMO儀器密鑰來寫入和讀取它以進行單元測試,那將會很有幫助。讓我知道。

回答

1

我提供的方法是(對於任何外部組件)在遙測客戶端周圍創建某種包裝,然後很容易嘲笑它或稍後在需要時替換它。

我想嘗試的另一種方法是使用TelemetryClient構造函數超載TelemetryConfiguration和模擬TelemetryChannel

var client = new TelemetryClient(
    new TelemetryConfiguration 
    {     
     TelemetryChannel = new MOCK... 
    }); 
0

而是嘲諷出來的東西,它可能是更好的去與你的第二個想法,實際上創建另一個應用程序的見解資源,並使用儀器的關鍵在單元測試資源。有a blog post with information about using multiple environments這應該帶領你在正確的方向。

我建議你甚至可以爲開發者/調試版本做類似的事情,這樣只有你的「生產」遙測才能轉到你的實際情況,然後所有的開發/測試遙測都轉到另一個資源。

+0

是的,旋轉按鍵是一個好主意,只有在觸及真正的自動化測試應用程序時受到阻礙纔會「讀取寫入」 - 由於開發人員模式中的寫入延遲也是不方便的(大約一分鐘或2分鐘) – Praveen