1

RailsアプリケーションをテストするためにAngulare2eでtestacularをセットアップしようとしています。最も基本的なテストに合格することができません。Railsアプリが実行されています。

testacular.config.js

basePath = '.';
files = [
  JASMINE,
  JASMINE_ADAPTER,
  ANGULAR_SCENARIO,
  ANGULAR_SCENARIO_ADAPTER,
  '*_spec.js'
];
exclude        = [];
reporters      = ['progress'];
port           = 8080;
runnerPort     = 9100;
colors         = true;
logLevel       = LOG_INFO;
autoWatch      = true;
browsers       = ['Chrome'];
captureTimeout = 5000;
singleRun      = false;
proxies        = { '/': 'http://localhost:3000/' };

test_spec.js

describe('Home Page', function() {
  beforeEach(function() {
    browser().navigateTo('/');
  });
  it('should have h2', function() {
    expect(element('body').html()).toContain('Explore')
  });
});

出力:本文を選択しているので、それが私のWebページではなく、testaculariframeであることがわかります。私の実際のページの本文はここに表示されると思います。

expected "Explore" but was "\n  <h1 id=\"title\" class=\"offline\">Testacular - starting</h1>\n  <ul id=\"browsers\"></ul>\n\n  <iframe id=\"context\" src=\"about:blank\" width=\"100%\" height=\"100%\"></iframe>\n\n  <script src=\"socket.io/socket.io.js\"></script>\n  <script src=\"testacular.js\"></script>\n\n\n"
4

1 に答える 1

1

testacular.config.jsファイル配列で、

JASMINE,
JASMINE_ADAPTER,

ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,    

一緒に使用しないでください。最初のセットはJasmine仕様用で、2番目のセットはe2eテスト用です。それらは相互に排他的です。

あなたの場合、e2eテストを行っているので、ファイル配列は次のようになります。

files = [
  ANGULAR_SCENARIO,
  ANGULAR_SCENARIO_ADAPTER,
  '*_spec.js'
];

参照: https ://github.com/testacular/testacular/issues/66

于 2013-01-31T19:57:02.680 に答える