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

eaf3rand  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(428)

我目前是一个开发hadoop应用程序的团队的成员,其中一部分将使用spark,另一部分将使用java或python(例如,我们不能使用sqoop或hadoop附带的任何其他摄取工具,将实现我们自己的版本)。我只是一个数据科学家,所以我只对spark部分很熟悉,所以很抱歉,如果这个问题缺乏细节,或者只是一般的糟糕-我只知道工程团队需要java和python支持。我已经被要求研究使用cucumber(或任何其他bdd框架)对我们的应用程序进行验收测试。我找不到任何博客、代码库或其他引用,其中cucumber在polyglot应用程序中被使用,而hadoop几乎没有被使用。是否有可能使用cucumber或任何其他现有的bdd框架来测试我们的应用程序?我们已经计划通过junit/pyunit/etc进行单元和集成测试。

xxls0lw8

xxls0lw81#

特征文件将使用gherkin编写。如果您使用java或python,gherkin看起来是一样的。因此,从理论上讲,您可以从java和python执行相同的规范。然而,这没有任何意义。它只是用两种不同的语言实现相同行为的一种方式,因此是在两个不同的地方。唯一的结果就是重复和痛苦的开发者。
您可以使用bdd和gherkin来驱动实现。但在不同的语言中有不同的行为。这将引导您使用两组不同的功能。考虑到你所描述的环境,这是可能的,而且可能是个好主意。

bqf10yzr

bqf10yzr2#

如果你用一种语言测试两种语言,答案是肯定的。
cucumberjs可以用来测试javascript和php,或者至少测试那些脚本在网页上的结果。
如果您的意思是在一个特征文件集中使用两个不同的cucumber变体,我不建议这样做。
如果需要,我将创建两个不同的套件,用java和python,用所需的语言测试脚本。然而,如果您只使用cucumber框架来测试图形用户界面,为什么要用两种语言来支持它呢?
在这里,您需要从那些将要使用它的人那里获得想法,了解他们最熟悉的python和java语言,并找到合适的软件来集成它。对于基于web的应用程序,selenium的使用最多,但是对于桌面应用程序,我不知道(因为我只在基于web的应用程序上使用cucumber)。
如果需要运行python脚本进行设置,可以从java执行。您还可以从python运行java
基本上,选择最适合您需要的语言-两者都有优点(顺便说一句,jvm比python+莴苣或jython更受支持)。

axr492tv

axr492tv3#

要使用cucumber测试桌面应用程序,可以使用specflow,它使用visualstudio中名为teststack.white的框架。只要google一下cumberspecflow、teststack.white等等,你就应该可以走上正轨了

相关问题