0

Jasmine、Karma、PhantomJS を使用してテストを自動化していますが、問題が発生しています。Phantom が JS を正しく解析していないようです。たとえば、私はこのモックを使用しています:

var App = function() {
  return {
    pageController : {
      currentPage : {
        on : function() {},
        toJSON : function() {},
        get : function() {
          return dark;
        }
      }
    },
    mainLayout : {
      header : {
        show : function() {},
        $el : {}
      }
    }
  };
};

console.log("in test", App());

...次のようにログアウトします。

PhantomJS 1.9 (Mac) LOG: [ 'in test',
  { pageController: {},
    mainLayout: { header: [Object] } } ]

ここで app.pageController が空になっているため、テストが失敗します。なぜこれが起こっているのですか?どうすれば修正できますか?

この問題は、関数定義に直接関係しているようです。例えば:

console.log("this is a function:", function() { return 'wat'; });

収量

PhantomJS 1.9 (Mac) LOG: [ 'this is a function:', null ]

エラーはChromeでも発生します。作ったジャスミンのスパイも潰してしまうので、カルマのせいなのかな?

4

1 に答える 1

1

Karma のログでは、すべての関数が として報告されnullます。(テストは無関係な理由で失敗していました)。

于 2013-07-15T21:19:42.847 に答える