1

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

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

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

4

1 回答 1

1

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

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

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

Chutzpah 提供了其他功能,所以我建议检查一下,看看什么最适合你。

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

于 2013-08-14T11:10:13.833 回答