2012-06-19 70 views
0

我們有一個已經開發並準備部署的地鐵應用程序。但我們仍然不滿意我們迄今爲止所做的測試。我們的目標是在應用程序代碼中編寫一些內聯測試代碼,旨在公開應用程序中的某些關鍵事件(通過生成測試代碼可以等待的某些事件)並等待測試代碼生成的事件。這樣我們可以產生更多的場景。城域應用程序和桌面應用程序之間的進程間通信

例如,如果有四個組件作爲後臺線程A,B,C和D運行而且我們希望A執行,則會發出信號以測試代碼事件並等待(僅在UI線程繼續運行時在後臺線程上)。然後,測試代碼模擬一些用戶操作,並指示應用程序繼續執行操作B和C的應用程序,然後再次等待測試代碼再次在UI上運行某些測試用例,同時後臺線程仍處於暫停狀態。

於是就這樣,我們實現了場景 BackgroundThread A->用戶事件X->後臺線程B - >後臺線程C- - >用戶事件Ÿ - >後臺線程d

我們希望能找到更多的同步問題這可能是由於後臺線程而發生的。 這種方法背後的驅動力是我們無法控制線程何時會脫離上下文。所以我們想要模擬這種場景來檢查爭用的區域。我已經嘗試了所有基本的IPC機制,但顯然由於metro應用程序沙盒,它們不適用於metro應用程序和桌面應用程序。

回答

0

我正在尋找一個很好的解決方案。直到現在我發現了兩個,但都不是我要找的那種。也許對你來說沒關係:

  • 在你的測試機上,你可以用disable the network isolation和你的應用程序運行的機器進行網絡通訊。
  • 或者您在KnownFolders.DocumentsLibrary中使用StorageFile並在「我的文檔」中寫入/查找文件。
相關問題