0

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

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

所以这样我们就实现了一个场景BackgroundThread A-> User event x-> Background Thread B -> Background Thread C -> user event y -> Background thread D

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

4

1 回答 1

0

我也在寻找一个好的解决方案。直到现在我找到了两个,但都不是我要找的那种。也许对你没问题:

  • 在您的测试机器上,您可以禁用网络隔离并与运行您的应用程序的机器使用网络通信。
  • 或者您使用输入StorageFileKnownFolders.DocumentsLibrary写入/查找“我的文档”中的文件。
于 2012-06-25T13:23:27.273 回答