我目前是Hadoop应用程序团队的一员,其中的一部分将使用Spark,其中一部分将使用Java或Python(例如,我们无法使用Sqoop或Hadoop附带的任何其他摄入工具并将实施我们自己的版本)。我只是一名数据科学家,所以我只是对Spark部分非常熟悉,所以对于缺乏细节或者如果这个问题通常很糟糕我表示歉意 - 我只知道工程团队需要Java和Python支持。我被要求考虑使用Cucumber(或任何其他BDD框架)来接受测试我们的应用程序前后一旦我们进一步。我找不到任何博客,代码库或其他参考文献,其中在多语言应用程序中使用黄瓜,并且几乎没有使用Hadoop的地方。是否有可能使用Cucumber或任何其他现有的BDD框架来测试我们的应用程序?我们已经计划通过JUnit/PyUnit /等进行单元和集成测试。我可以使用Cucumber测试使用多种语言的应用程序吗?
回答
答案是肯定的,如果你使用一种语言来测试两个。
Cucumber-JS可以用来测试Javascript和PHP - 或者至少是这些脚本在网页上的结果。
如果您的意思是在一个功能文件集中使用两个不同的黄瓜变种,我不会推荐它。
如果需要,我会用Java和Python创建两个不同的套件,以测试所需语言的脚本。但是,如果您只使用黄瓜框架来测试图形用户界面,为什么有两种语言为它提供动力?
这就是您需要从那些将要使用它的人那里得到想法,从Python和Java中最熟悉哪种语言,并找到合适的软件来集成它的地方。对于基于网络的,Selenium使用的最多,但对于桌面应用程序,我不知道(因为我只在基于Web的应用程序上使用过黄瓜)。
如果您需要运行Python脚本进行设置,您可以这样做from Java。你也可以运行Java from Python
基本上,选择最符合你需要的语言 - 这两者都有优势(顺便说一句,Cucumber JVM比Python + Lettuce或Jython更好支持)。
功能文件将使用小黄瓜写入。如果您使用Java或Python,则小黄瓜看起来一样。所以从理论上讲,您可以从两个Java端Python执行相同的规范。但是,这样做没有任何意义。这只是一种用两种不同语言实现相同行为的方式,因此也是两种不同的地方。唯一的结果将是重复和悲惨的开发人员。
您可以做的是使用BDD和小黄瓜来驱动实施。但在不同语言中有不同的行为。这将导致您使用两套不同的功能。鉴于您所描述的背景,这可能是一个好主意。
要使用黄瓜来测试桌面应用程序,您可以使用specflow,它在Visual Studio中使用一个名为teststack.white的框架。只需谷歌黄瓜specflow,teststack.white等,你应该能够走上正轨
- 1. 我可以在Heroku应用程序中使用两种语言吗?
- 2. 我可以使用多种语言的基于Linux的ORM吗?
- 3. 我可以同时使用多种语言的OpenGL吗?
- 4. 让我的应用程序使用多种语言
- 5. 我可以使用Fit/Fitnesse来测试.NET应用程序吗?
- 6. 我可以使用硒webdriver测试iphone应用程序吗?
- 7. 多种语言的Android应用程序
- 8. Phonegap应用程序的多种语言
- 9. 多种语言的应用程序
- 10. 多种语言的应用程序
- 11. 多种语言的MVC3应用程序
- 12. 想要以多种语言使用应用程序印地语和英语
- 13. 我可以使用这种语法吗?
- 14. UWP应用程序在多种语言
- 15. phonegap应用程序多种语言
- 16. 您可以使用JMeter测试Siebel应用程序吗?
- 17. 我可以使用.Net语言进行iPhone应用程序开发吗?
- 18. 我可以使用.NET语言编写Eclipse RCP应用程序吗?
- 19. 我可以更改android应用程序的语言吗?
- 20. 使用多种语言创建Android应用程序
- 21. 使用多种语言编写应用程序
- 22. 如何让spring-mvc应用程序使用多种语言?
- 23. 使用普通的JRE Junit测试可以测试Android应用程序吗?
- 24. 多语言Sitecore 6网页可以为每种语言使用别名吗?
- 25. 使用cucumber/capybara在bundler应用程序中测试动态URL
- 26. 集成使用Cucumber和Capybara测试Backbone.js应用程序
- 27. 我可以使用Xamarin.Android单元测试应用程序中的新NUnit API吗?
- 28. 我们可以使用selenium htmlunit-driver **来测试AngularJS应用程序的GUI吗?
- 29. 多种语言的UWP应用程序 - 检查所有语言
- 30. 使多语言Android应用程序