0

我正在根据这个博客创建一个 Facebook 登录指令。

  app.directive('facebook', function($http) {
    return {
      restrict: 'A',
      scope: true,
      controller: function($scope, $attrs, $location) {
        // Load the SDK Asynchronously
        (function(d){
          var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement('script'); js.id = id; js.async = true;
          js.src = "//connect.facebook.net/en_US/all.js";
          ref.parentNode.insertBefore(js, ref);
        }(document));
    // ... the rest of the directive

如何对这个匿名函数进行单元测试?模拟文档似乎不起作用。

4

1 回答 1

2

由于您正在异步加载 facebook sdk,因此您基本上不走运。真的,你应该问自己的问题是“我想测试什么?” 如果这个问题是“登录 facebook”,那么你真的应该使用集成测试运行器。

http://docs.angularjs.org/guide/dev_guide.e2e-testing

于 2013-07-30T13:46:57.770 回答