【问题标题】:Javascript Integration Testing FrameworkJavascript 集成测试框架
【发布时间】:2013-08-06 09:42:41
【问题描述】:

在我们当前的项目中,我们使用了带有 Telerik 库的 ASP.NET,直到最近我们还使用了 MVP(模型视图展示器)模式。在这个场景中,视图被设计为愚蠢的,它不包含任何业务逻辑和基于计时器的轮询机制,该计时器用于从演示者那里获取数据并将其显示在视图中。有了这种结构,使用集成测试(测试一直到数据库)测试应用程序很容易。

最近我们已经转移到 SignalR,并且我们在视图中添加了重要的 JavaScript 逻辑,以便处理从 SignalR 触发的事件,但是这样我们的集成测试的代码覆盖率较低,并且测试的完整性不是那么好(即使应用程序本身失败,测试也通过了)。

那么,有没有人使用一个框架来模拟 JavaScript 执行(包括 signalR 库)以及 C# 代码,以便可以测试完整的场景?

【问题讨论】:

  • 你看过 Chutzpah 了吗? nuget.org/packages/Chutzpah 我们使用了 Chutzpah 的组合,它使用 phantom 作为无头浏览器来集成我们的 js 测试和 signalr hub api。如果您有兴趣,我可以发布更多详细信息。
  • 这个看起来很有趣...如果可能,请提供更多详细信息。谢谢

标签: c# javascript asp.net integration-testing signalr


【解决方案1】:

我们使用Chutzpah 运行我们的 Javascript 逻辑并测试我们的 Signalr Server HUB API。

我们的 Javascript 测试是使用 QUnit 创建的(chutzpah 也支持 Jasmine)。

Chutzpah 的 test runner 允许您利用 phantom.js(使用无头浏览器)在 Visual Studio 中运行 js 测试。您可以运行服务器和 js 逻辑并在 Visual Studio 中验证/运行结果。此外,我们使用 Signalr 的 OWIN 自行托管 HUB,这对于模拟我们的测试非常有用。

Chutzpah 提供了其他功能,因此我建议您检查一下,看看哪种最适合您。

我还会查看Jabbr 如何运行测试。他们还使用 Chutzpah 以及一些可能对您很有效的更复杂的技术。

【讨论】:

  • Chutzpah 没有任何集成测试方法(来自原始问题),只有单元测试。
猜你喜欢
  • 2010-10-21
  • 1970-01-01
  • 2013-03-08
  • 2013-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-06
  • 1970-01-01
相关资源
最近更新 更多