1

我们目前在我们的 Ruby on Rails 应用程序中运行AngularJS的Jasmine测试。有了这个,我们使用VCR生成带有假数据的 API JSON 文件。

是否可以将这些文件嵌入到我们的 JavaScript 单元测试中?

  • 我们不希望对这些文件进行 Ajax 调用(性能)
  • 我们尽量避免将其放入,assets因为它应该被排除在生产代码中。

我们当前的结构如下所示:

规范/controllerSpec.js

scope.user.handleUserLoaded({
  "is_logged_in": true,
  "preferred_name": "Christian"
});
expect(scope.user.isAuthenticated()).toBeTruthy();

固定装置/fake_data/user.json

{
  "is_logged_in": true,
  "preferred_name": "Christian"
}

与其做这种重复,我们更愿意在 JavaScript 中包含某种类型的内容:

scope.user.handleUserLoaded(<% include "fixtures/fake_data/user.json" %>);
expect(scope.user.isAuthenticated()).toBeTruthy();

最好的方法是什么?
我们绝对可以移动文件、使用.js.erb文件或尝试不同的方法。

4

0 回答 0