metro应用程序和桌面应用程序之间的进程间通信

时间:2012-06-19 06:53:17

标签: testing microsoft-metro

我们已经开发了一个可以部署的城域应用程序。但是我们仍然不满意我们迄今为止所做的测试。我们的目标是在应用程序代码中编写一些内联测试代码,目的是在应用程序中公开某些关键事件(通过生成一些测试代码可以等待的事件)并等待测试代码生成的事件。这种方式我们可以生成更多场景。

例如,如果有四个组件作为后台线程A,B,C和D运行我们希望A执行然后信号来测试代码事件并等待(仅在后台线程上,当UI线程保持运行时)。然后,测试代码模拟一些用户操作,并向应用程序继续执行操作B和C的应用程序发出信号,然后在后台线程仍处于暂停状态时,测试代码再次在UI上运行某些测试用例时再次等待。

所以这样我们就实现了一个场景     BackgroundThread A->用户事件x->背景线程B - >背景线程C - >用户事件y - >背景线程D

我们希望找到因后台线程而可能出现的更多同步问题。 这种方法背后的驱动力是我们无法控制线程什么时候会脱离上下文。所以我们想要模拟这样的场景来检查争用区域。我已经尝试了所有基本的IPC机制,但由于地铁应用沙盒,显然它们在metro应用和桌面应用之间无法工作。

1 个答案:

答案 0 :(得分:0)

我也在寻找一个好的解决方案。直到现在我发现了两个,但两者都不是我想要的那种。也许对你有好处:

  • 在您的测试计算机上,您可以disable the network isolation使用与您的应用运行的计算机进行网络通信。
  • 或者您在StorageFile中使用KnownFolders.DocumentsLibrary并在“我的文档”中撰写/查找文件。