【问题标题】:Debugging Silverlight and Silverlight Unit Tests调试 Silverlight 和 Silverlight 单元测试
【发布时间】:2010-10-05 19:39:52
【问题描述】:

我在调试 silverlight 和 silverlight 单元测试时遇到问题。

让我们先谈谈调试silverlight。我的 silverlight 项目在项目属性中检查了“silverlight”调试器,所以我不太明白。有时它会调试好,我可以在我的视图模型类中放置断点,而其他时候则不行。这是其他人正在寻找的东西吗?

接下来是调试单元测试。我使用了 silverlight 单元测试框架,所以测试在浏览器中运行。我应该如何调试这些测试?我正在盲目地编写测试,直到事情变得复杂为止。

例如,对于经典的单元测试,您只需设置断点即可。否则你可以使用 Console.WriteLine。至少我需要能够在 silverlight 单元测试运行时将某些调试信息写入网页。

谢谢。

【问题讨论】:

  • +1 用于问题调试。我已经有一段时间无法进入我的项目了。
  • 我只是想把一些东西放在那里,我正在使用 Chrome。我刚刚切换到 IE,我认为它可以工作,甚至可以调试单元测试!
  • 我很想知道其他人正在使用什么浏览器,以及这是否是导致任何问题的原因
  • 我使用 Chrome、IE 和 Firefox 进行所有测试。我可以使用下面的解决方法在所有这些中进行调试。

标签: c# unit-testing silverlight-3.0


【解决方案1】:

调试 Silverlight

在多进程浏览器中调试可能会很痛苦。一旦开始调试,您通常必须手动附加调试器,因为由 Visual Studio 启动并尝试调试的进程不是运行 Silverlight 插件的进程。

在调试模式下启动应用程序后,只需使用Debug-->Attach to process... 即可。我从来没有使用这种方法调试失败过。

我也 posted here 关于这个多进程浏览器 Silverlight 调试问题。

注意:多进程浏览器包括 Chrome、IE8 和 Firefox 3.5,尽管 IE8 在工作时会解决多进程问题。

报告反馈

我还没有尝试过,但是here is a useful blog 为 Silverlight 提供崩溃处理。它可以让您了解如何在单元测试时操作 HTML 页面以提供跟踪样式的日志记录。

【讨论】:

  • 感谢您的回答 - 解决了我的 SL 调试问题。
【解决方案2】:

对于一般调试,当您使用“附加到进程”时,请确保您在“附加到”字段中选择了“Silverlight 代码”。

要使用 silverlight 单元测试框架进行调试,您需要打开托管单元测试页面的 Web 项目的项目属性。选择“Web”选项卡并确保在底部的 Debuggers 部分中选择了 Silverlight 选项。

确保将 Web 项目设置为启动项目,并将相应的测试页设置为起始页。

当您按 F5 解决方案时,您的断点应该会起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多