1

在实习生页面上的所有示例中,静态 html 文件都在为某些前端框架(骨干网、ember 等)提供服务。因此,在功能测试示例中,静态 html 文件的路径被传递给 get 方法。

this.remote.get(require.toUrl('index.html'))

在我的例子中,rails 应用程序提供托管主干应用程序的 html 页面。有没有办法让实习生在 Rails 提供主干应用程序时使用它?我发现让功能测试运行的唯一方法是将正在运行的 rails 应用程序的 url 传递给 get 方法。(通过 nginx 运行)

this.remote.get('http://localhost/')

虽然这允许功能测试运行,但它不会通过端口 9000 上的侦听器传递。因此,我没有得到覆盖率统计信息。

4

1 回答 1

2

不幸的是,无法将检测服务器配置为尝试从另一个 HTTP 服务器检索文件,它只会从本地磁盘读取文件,因此无法将其用作检测 Rails 应用程序提供的 JavaScript 的通道这次除非这些实际上是由 nginx 静态提供的(在这种情况下,您可以为您的 JavaScript 文件设置一个反向代理到 Intern)。

如果您可以重新配置 Rails 以从检测服务器而不是文件系统中提取 JavaScript,那将是可行的。您还可以通过 Istanbul 的命令行工具运行文件来尝试预先检测您的 JavaScript 代码:

istanbul instrument --variable __internCoverage --no-compact --output output-dir input-dir
于 2014-03-22T02:06:08.387 回答