【问题标题】:Testing Rails App with Testacular and AngularJs使用 Testacular 和 AngularJs 测试 Rails 应用程序
【发布时间】:2013-01-30 17:27:21
【问题描述】:

我正在尝试使用 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"

【问题讨论】:

  • 我在使用 testacular 和 rails 时遇到了一些问题,最终我使用了 jasmine gem,没有任何问题。显然不是您问题的答案,但您可能想尝试一下。

标签: ruby-on-rails angularjs karma-runner


【解决方案1】:

在 testacular.config.js 文件数组中,

JASMINE,
JASMINE_ADAPTER,

ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,    

不应一起使用。 第一套适用于茉莉花规格, 第二组用于e2e测试。 它们是相互排斥的。

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

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

另请参阅: https://github.com/testacular/testacular/issues/66

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    相关资源
    最近更新 更多