【问题标题】:JavaScript unit testing with Rhino使用 Rhino 进行 JavaScript 单元测试
【发布时间】:2014-04-30 10:53:11
【问题描述】:

我希望有人可以帮助我解决我遇到的编码问题。我目前正在使用在第三方 Java 应用程序 (mirth connect) 中执行的服务器端 JavaScript 代码,该应用程序使用 Rhino JavaScript 编译器执行已实现的 JavaScript。这是特别有趣的,因为我有时需要与外部 Java 包进行交互。

我一直在寻找将我们的测试过程形式化的方法。 考虑到这一点,我一直在研究 JavaScript 单元测试框架,例如 QUnit 和 Jasmine。不幸的是,据我了解,这些框架主要旨在测试在浏览器环境中运行的 JavaScript 代码,但我需要像在服务器上执行代码一样进行测试。但这可以通过使用无头浏览器浏览器运行这些框架来实现。

我真正想知道的是,这是否可能?我查看了许多声称能够实现这一点但我自己却无法做到这一点的资源。如果确实有可能,是否有人有我可以遵循的链接或简单的演练?

我非常乐意提供我想测试的 JavaScript 代码示例、我想从 JavaScript 调用的 Java 类以及一旦任何人都可以确认我确定我的单元测试'我不会用这个作为可能的解决方案来找错树。

提前致谢!

【问题讨论】:

  • 我想知道为什么将 Mirth 添加到您的问题标签中?在 Mirth Connect 下调试 JavaScript 与以“正常”方式调试 JavaScript 有点不同。
  • 嗨。这无疑是正确的——但尝试在 MC 中执行任何正式测试目前不是本机选项。因此,我们选择了尝试模拟 MC 环境的解决方案。你有尝试在 MC 中开发的经验吗?我很想知道您可能有任何见解。
  • 既然您已经问过了,请不要将此视为广告。有一本书叫《Unofficial Mirth Connect v3.0 Developer's Guide》,解释了一些调试选项。可在mirthconnect.isarp.com 获得免责声明:我是本书的作者,欢迎任何 cmets 或建议。
  • @user3005941 哈哈!在你厚颜无耻地插上你的书之前,我就抢先你了,已经买了! :) 并且正在研究您所写的一些主题(调试、扩展等)。非常有趣和有用的阅读。谢谢。

标签: javascript unit-testing mirth


【解决方案1】:

我建议您使用 Groovy/Java 编写测试并以这种方式运行它们。这并不理想,但 Rhino 提供了一个方便的桥梁来获取 JavaScript 对象。

我已经写过在这里设置它:http://ryanbrooks.co.uk/posts/2014-03-27-testing-rhino-js-spock/

您总是可以尝试在 Jasmine 中编写测试并使用 Karma 运行它们。你需要在 Rhino 上运行 Karma,这给我们带来了问题,但如果你使用 CommonJS for Rhino,你可能会更幸运。

我的观点是,(通常)Rhino 仅用于这些天 JavaScript 需要由 Java 进程执行的地方,在这种情况下,您可能关心测试 Java 端的输出,但 YMMV。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多