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

Java 我可以使用Cucumber测试使用多种语言的应用程序吗?,java,python,hadoop,cucumber,cucumber-jvm,Java,Python,Hadoop,Cucumber,Cucumber Jvm,我目前是Hadoop应用程序团队的一员,其中一部分将使用Spark,另一部分将使用Java或Python(例如,我们不能使用Sqoop或Hadoop附带的任何其他摄取工具,并且将实现我们自己的版本)。我只是一个数据科学家,所以我只对Spark部分比较熟悉,所以对于缺乏细节或者这个问题总体上很糟糕,我深表歉意——我只知道工程团队需要Java和Python支持。我被要求在我们进一步开发之后,使用Cucumber(或任何其他BDD框架)对我们的应用程序进行前后验收测试。我找不到任何博客、代码库或其他引

我目前是Hadoop应用程序团队的一员,其中一部分将使用Spark,另一部分将使用Java或Python(例如,我们不能使用Sqoop或Hadoop附带的任何其他摄取工具,并且将实现我们自己的版本)。我只是一个数据科学家,所以我只对Spark部分比较熟悉,所以对于缺乏细节或者这个问题总体上很糟糕,我深表歉意——我只知道工程团队需要Java和Python支持。我被要求在我们进一步开发之后,使用Cucumber(或任何其他BDD框架)对我们的应用程序进行前后验收测试。我找不到任何博客、代码库或其他引用,其中cucumber被用于polyglot应用程序,而Hadoop几乎没有被使用。是否可以使用Cucumber或任何其他现有BDD框架测试我们的应用程序?我们已经计划通过JUnit/PyUnit/etc进行单元和集成测试

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

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

如果您的意思是在一个功能文件集中使用两个不同的Cucumber变体,我不推荐它

如果需要,我将用Java和Python创建两个不同的套件,用所需的语言测试脚本。然而,如果您只使用cucumber框架来测试图形用户界面,为什么要用两种语言来驱动它呢

在这里,您需要从那些将要使用它的人那里获得想法,了解他们最熟悉的Python和Java语言,并找到与之集成的正确软件。对于基于web的应用程序,Selenium使用最多,但对于桌面应用程序,我不知道(因为我只在基于web的应用程序上使用cucumber)

如果出于安装目的需要运行Python脚本,可以这样做。你也可以跑步


基本上,选择最适合您需要的语言-两者都有优点(顺便说一句,Cumber JVM比Python+莴苣或Jython更受支持)。

功能文件将使用Gherkin编写。如果使用Java或Python,小黄瓜看起来是一样的。因此,从理论上讲,您可以从Java和Python执行相同的规范。然而,这毫无意义。这只是用两种不同的语言实现相同行为的一种方式,因此在两个不同的地方。唯一的结果是重复和痛苦的开发者


您可以使用BDD和Gherkin来驱动实现。但是在不同的语言中有不同的行为。这将引导您使用两组不同的功能。考虑到您描述的上下文,这是可能的,而且可能是一个好主意。

要使用cucumber测试桌面应用程序,您可以使用specflow,它使用visual studio中名为teststack.white的框架。只要在cucumber specflow、teststack.white等上用谷歌搜索一下,你就可以走上正轨了