java - 我可以使用Cucumber测试使用多种语言的应用程序吗?

标签 java python hadoop cucumber cucumber-jvm

我目前是Hadoop应用程序团队的成员,该团队的一部分将使用Spark,一部分将使用Java或Python(例如,我们不能使用Sqoop或Hadoop随附的任何其他摄取工具,并且实现我们自己的版本)。我只是一名数据科学家,所以我实际上只熟悉Spark部分,因此为缺乏详细信息或对此问题是否感到普遍感到歉意-我只知道工程团队需要Java和Python支持。我被要求研究使用Cucumber(或任何其他BDD框架)来进行应用程序的前后验收测试。我找不到在多语言应用程序中使用Cucumber的任何博客,代码库或其他引用,而在使用Hadoop的地方几乎找不到。是否可以使用Cucumber或任何其他现有的BDD框架测试我们的应用程序?我们已经计划通过JUnit / PyUnit / etc进行单元和集成测试。

最佳答案

如果您使用一种语言测试两种语言,答案是肯定的。

Cucumber-JS可用于测试Javascript和PHP-或至少这些脚本在网页上的结果。

如果您要在一个功能文件集中使用两种不同的Cucumber变体,则不建议使用。

如果需要,我将用Java和Python创建两个不同的套件,以使用所需的语言测试脚本。但是,如果仅使用Cucumber框架来测试图形用户界面,为什么要使用两种语言来提供支持?

在这里,您需要从将要使用它的人那里获取想法,使用他们最熟悉的Python和Java语言,并找到合适的软件与之集成。对于基于Web的应用程序,使用Selenium最多,但对于台式机应用程序,我不知道(因为我只在基于Web的应用程序中使用Cucumber)。

如果您需要运行Python脚本来进行设置,可以执行from Java。您也可以运行Java from Python

基本上,选择最适合您需求的语言-两者都有长处(顺便说一下,Cucumber JVM比Python + Lettuce或Jython更好地支持)。

关于java - 我可以使用Cucumber测试使用多种语言的应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42909952/

相关文章:

python - 在派生类中传递 *args/**kwargs

python - 无法在 Windows 上安装 lxml, fatal error C1083 : Cannot open include file: 'libxml/xmlversion.h'

java - 如何在 Hadoop 中使用 CompressionCodec

java - 在 Android 中具有弯曲底线的自定义形状布局

java - 深复制多维数组

Python 相当于 Scala 的 exists() 函数?

hadoop - 是否有任何属性来定义失败的映射器阈值

java - 在Java Map内部执行python脚本reduce

java - JFileChooser 和 RMI

java - 将 JSON 响应绑定(bind)到对象会返回 NullPointerException