2017-03-20 61 views
0

我目前是Hadoop应用程序团队的一员,其中的一部分将使用Spark,其中一部分将使用Java或Python(例如,我们无法使用Sqoop或Hadoop附带的任何其他摄入工具并将实施我们自己的版本)。我只是一名数据科学家,所以我只是对Spark部分非常熟悉,所以对于缺乏细节或者如果这个问题通常很糟糕我表示歉意 - 我只知道工程团队需要Java和Python支持。我被要求考虑使用Cucumber(或任何其他BDD框架)来接受测试我们的应用程序前后一旦我们进一步。我找不到任何博客,代码库或其他参考文献,其中在多语言应用程序中使用黄瓜,并且几乎没有使用Hadoop的地方。是否有可能使用Cucumber或任何其他现有的BDD框架来测试我们的应用程序?我们已经计划通过JUnit/PyUnit /等进行单元和集成测试。我可以使用Cucumber测试使用多种语言的应用程序吗?

回答

0

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

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

如果您的意思是在一个功能文件集中使用两个不同的黄瓜变种,我不会推荐它。

如果需要,我会用Java和Python创建两个不同的套件,以测试所需语言的脚本。但是,如果您只使用黄瓜框架来测试图形用户界面,为什么有两种语言为它提供动力?

这就是您需要从那些将要使用它的人那里得到想法,从Python和Java中最熟悉哪种语言,并找到合适的软件来集成它的地方。对于基于网络的,Selenium使用的最多,但对于桌面应用程序,我不知道(因为我只在基于Web的应用程序上使用过黄瓜)。

如果您需要运行Python脚本进行设置,您可以这样做from Java。你也可以运行Java from Python

基本上,选择最符合你需要的语言 - 这两者都有优势(顺便说一句,Cucumber JVM比Python + Lettuce或Jython更好支持)。

0

功能文件将使用小黄瓜写入。如果您使用Java或Python,则小黄瓜看起来一样。所以从理论上讲,您可以从两个Java端Python执行相同的规范。但是,这样做没有任何意义。这只是一种用两种不同语言实现相同行为的方式,因此也是两种不同的地方。唯一的结果将是重复和悲惨的开发人员。

您可以做的是使用BDD和小黄瓜来驱动实施。但在不同语言中有不同的行为。这将导致您使用两套不同的功能。鉴于您所描述的背景,这可能是一个好主意。

0

要使用黄瓜来测试桌面应用程序,您可以使用specflow,它在Visual Studio中使用一个名为teststack.white的框架。只需谷歌黄瓜specflow,teststack.white等,你应该能够走上正轨

相关问题