如何避免 jasmine 在不同环境下出现较长的相对路径(../../../)?

2024-04-14

我目前正在开发一个项目,我想在不同的环境中进行测试 - 包括 node.js 和带有 karma/selenium 的不同浏览器 - 以避免兼容性问题。 (我想我会在浏览器中使用browserify,但我还不熟悉它。)

我有一个嵌套的测试目录,如下所示:

repo/
- project.js
- project.my.module.js
- spec/
-- helpers/
--- a.jasmine.helper.js
-- support/
--- jasmine.json
-- project.my.module/
--- ModuleClass.spec.js
-- project.MyClass.spec.js
-- project.OtherClass.spec.js

目前我仅使用 jasmine-npm (这是用于 node.js 的 jasmine 2.2)测试该项目。通过测试工作目录是repo/,我跑的地方node.exe with jasmine.js. The jasmine.js加载jasmine.json:

{
  "spec_dir": "spec",
  "spec_files": [
    "**/*[sS]pec.js"
  ],
  "helpers": [
    "helpers/**/*.js"
  ]
}

现在我这里有两个问题。

  • 例如,如何通过 require 避免长相对路径require("../../project.my.module.js") in the ModuleClass.spec.js文件? (我宁愿使用一个简短的常量名称,就像我可以通过符号链接所做的那样。)
  • 如何以与在不同浏览器中运行相同测试文件兼容的方式执行此操作? (我想通过测试保留 commonjs 模块定义。)

我检查了一些关于node.js的教程,似乎我有两个选择。我可以使用package.json(有一些我不知道的神奇配置选项),或者我可以将我想要加载的文件移动到node_modules/(我确信我不会这样做)。我愿意接受建议,因为我不知道如何解决这个问题......

edit:

The 业力浏览器 https://github.com/nikku/karma-browserify似乎解决了测试问题,可能我必须为浏览器添加茉莉花,但这没关系。我不必通过测试更改 commonjs 模块定义。因此可以在 Node.js 和具有长路径的浏览器中进行测试。

edit2:

我最终将我的存储库的父目录添加到 NODE_PATH 中。这样我就可以要求我当前正在开发的每个项目。


将您的项目目录符号链接到下面怎么样node_modules(例如,作为node_modules/project)并要求类似require("project/project.my.module.js")?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免 jasmine 在不同环境下出现较长的相对路径(../../../)? 的相关文章

随机推荐

  • Redux Connect w/ HOC - TypeError:无法设置未定义的属性“props”

    我正在 Next js 中构建快速身份验证高阶组件 但在使用以下代码时遇到了一些问题 import SignIn from components sign in import connect from react redux import
  • iOS - 架构 i386 的 3 个重复符号

    我在理解链接器命令错误时遇到问题 我收到以下信息 duplicate symbol OBJC IVAR XYZAddToDoItemViewController toDoItem in Users Library Developer Xco
  • WindowFromPhysicalPoint 和 WindowFromPoint 之间有什么区别?

    WindowFromPhysicalPoint http msdn microsoft com en us library aa969270 aspx是 Vista 中的新功能 它的文档几乎与WindowFromPoint http msd
  • 如何获取请求Referer路径?

    我需要引用者的路径 我不想要域名 例如 如果引用者是http www google com adsense I want adsense request referer返回一个字符串 但您可以使用Ruby 的 URI 模块 http www
  • Three.js 通过加载模型上的材质名称为材质添加边框

    是否可以在材料周围添加边框 如图所示 我可以通过以下代码设置材质颜色 object traverse function child if child instanceof THREE Mesh child material color se
  • OCUnit 测试在未测试的类中给出错误

    我编写了一个 OCUnit 测试 在 Xcode 3 2 中运行良好 现在在 Xcode 4 中遇到问题 它测试单个静态函数X在班上A 它不调用任何类或函数 库函数之外 唯一需要调用的其他代码是静态构造函数 它初始化两个静态变量 但同样 这
  • init的目的是什么!初始化器失败?

    Apple Swift 编程语言指南提到了 init 的存在 初始化程序 但没有提供任何示例 搜索初始化 在此页面中 https developer apple com library ios documentation swift con
  • 如何保持 Google App Engine 的运行实例

    谷歌应用程序引擎和开发人员控制台似乎又发生了变化 我不知道如何保持谷歌应用程序引擎的实例运行 即使该网站是偶像 应用程序引擎设置下曾经有一个滑块 但现在已经不存在了 我认为在 Google Speak 中我有动态实例 并且我需要一个常驻实例
  • 如何使用 Django 发布和检索 blob

    我有一个blob 这是我使用调整大小的图像
  • 如何在 R 中并排显示列表 - 列表的“cbind”?

    我希望利用我的屏幕空间并排查看几个简单的列表 我并不是想把它们结合起来 a lacbind 但我不介意是否创建一个新的中间结构 当然 要意识到一个列表可能有许多不同类型的对象 尽管我几乎保证我的列表具有相同的结构 如果有必要让事情正常工作
  • 有已知网络爬虫的列表吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试获取网络服务器上某些文件的准确下载数量 我查看了用户代理 其中一些显然是机器人或网络爬虫 但
  • 我真的需要 malloc 吗?

    据我了解 malloc是用来动态分配内存的 在我的代码中 我有时会调用以下函数 int memory get log unsigned char day unsigned char date unsigned char month char
  • App Store:仅针对 iPhone/iPod 推出,不适用于 iPad

    如何在 App Store 上启动仅适用于 iPhone iPod 而不是 iPad 的应用程序 我似乎在 plist 文件和 iTunesConnect 中都找不到任何设置 谢谢 你不能 Apple 的应用程序商店指南似乎明确不允许 iP
  • css位置固定根本不起作用

    我正在寻找一个页脚类型的东西布莱克霍利网站 http www blakehawley com它有一些不同的链接等 它应该是横幅样式 我的意思是它应该停留在底部并被修复 div 是 菜单 这是我的 HTML
  • 当 merge.ff = only 时如何挤压合并?

    首先 我有我的merge ff设置为only as in git config global merge ff only 我这样做是因为我不希望 git 在没有先与我检查的情况下进行非快进合并 这是一个很好的保障 确保我有机会做一些除了创建
  • ServiceStack AppHost 是单例吗?

    我一直在评估 ServiceStack 到目前为止 我已经被说服了 但我有一个要求 think将会破坏交易 我基本上需要多个 AppHost 派生的实例 第一个运行良好 但其余的则失败 因为 AppHostBase Instance 已被设
  • 执行 tail -F 直到匹配模式

    我想做一个tail F在文件上直到匹配模式 我找到了一种使用方法awk 但恕我直言 我的命令并不是很干净 问题是我need由于某些限制 只能用一行来完成 tail n 0 F tmp foo awk W interactive if 1 E
  • 使用支持库 v21 设置 SearchView Widget 的样式

    我正在尝试使用新的 AppCompat v21 设计 SearchView 小部件的样式 但我遇到了一些问题 无论我在 suggestionRowLayout 属性上设置什么布局 它都不会执行任何操作 SearchView 的建议下拉列表保
  • R中5个排名的频率统计

    假设我有 5 件商品A B C D E并让受访者对它们进行排名 数据看起来像这样 gt df rank1 rank2 rank3 rank4 rank5 1 A B C D E 2 A C B D E 3 C A B E D 4 B A C
  • 如何避免 jasmine 在不同环境下出现较长的相对路径(../../../)?

    我目前正在开发一个项目 我想在不同的环境中进行测试 包括 node js 和带有 karma selenium 的不同浏览器 以避免兼容性问题 我想我会在浏览器中使用browserify 但我还不熟悉它 我有一个嵌套的测试目录 如下所示 r