1

我正在尝试使用 angular e2e 设置 testacular 来测试我的 rails 应用程序。我无法通过最基本的测试。我的 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')
  });
});

输出:我正在选择正文,因此您可以看到它不是我的网页,而是睾丸 iframe。我想我会在这里看到我的真实页面的正文。

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 规格,第二组用于 e2e 测试。它们是相互排斥的。

在您的情况下,您正在进行 e2e 测试,因此 files 数组应该是:

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

另见: https ://github.com/testacular/testacular/issues/66

于 2013-01-31T19:57:02.680 回答