【发布时间】:2015-01-13 09:22:43
【问题描述】:
我目前有一个使用 SignalR 获取数据并使用 Knockout 绑定到 DOM 的应用程序。该应用程序已经发展壮大,并且 Knockout 变得相当复杂和臃肿,所以我正在切换到 AngularJS 进行前端绑定。
但是,我关注的 Angular 教程似乎都使用 $http GET 从服务器获取数据。我真的很喜欢使用 SignalR 获取数据,因为我可以从服务器端代码返回纯对象、列表或字典,并将其发送到客户端,而无需进行字符串化或反序列化。
实现 SignalR 客户端方法可能很简单,但是如何编写单元测试来测试需要 SignalR 集线器连接的 Angular 控制器方法?
【问题讨论】:
-
你所描述的很常见,一个应用程序开始,随着时间的推移而增长,并且内置的技术债务开始拖累。这就是重构的用武之地,在你的情况下是彻底切换到角度。一旦一个人对事物进行了足够的重构,他们就会开始学习“关注点分离”。我发现任何时候任何方法或函数的代码行数超过 10 行,它都可能试图做太多事情。每个方法或函数应该只做一件事。还要记住,包含远优于大而长的继承链。
标签: javascript angularjs unit-testing knockout.js signalr