.net - 使用 Specflow for Silverlight 处理异步

标签 .net silverlight tdd bdd specflow

Silverlight 单元测试框架定义了一个处理异步调用的过程(从 Microsoft.Silverlight.Testing.SilverlightTest 派生测试类,添加异步属性,使用 EnqueueXXX 方法。)考虑到 SpecFlow 在测试类和步骤之间呈现的分离:

  • 是否可以使用这些工具来等待测试中异步行为的 Silverlight 方法调用(例如进行 Web 服务调用)?
  • 如果他们不能,那么在 SpecFlow 测试文件中处理这种行为的指导是什么? (也许使用 AutoResetEvent 在事件处理程序中被触发并等待它?)
  • 最佳答案

    使用 AutoResetEvent 将不起作用,因为 WaitOne 调用将阻塞 UI 线程。即使在对数据服务进行异步调用时,Silverlight 也会使用 UI 线程(请参阅这篇文章 - Thead is blocked using WebClient and ManualResetEvent),因此 WaitOne 实际上会阻止服务被调用。

    关于.net - 使用 Specflow for Silverlight 处理异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384869/

    相关文章:

    .NET 和 XML : How can I read nested namespaces (<abc:xyz:name attr ="value"/>)?

    c# - DateTime.TryParseExact 与 "U"和 DateTimeStyles.AdjustToUniversal

    javascript - 从 Silverlight 设置 URL 哈希有时会失败

    c# - 任何人都可以建议使用最小起订量框架的逐步示例

    c# - ASP.MVC HandleError 属性不起作用

    c# - 从字符串 : "(123) 456-7890" => "1234567890"? 中删除格式

    silverlight - Silverlight 是否每次都下载程序集?

    silverlight - 如何防止全景图在 Windows Phone 7 应用程序中从最后一项滚动到第一项

    java - jUnit 意外方法调用 DAO Easymock

    testing - 使用testing.TB 来测试定制