我正在为AzureDevops CI / CD管道中的Java项目做POC。我创建了一个具有Selenium测试(TestNG)的Maven项目,该项目针对与我的项目无关的演示网站运行。我想在构建管道中运行单元测试,并在发布管道中运行UI Selenium测试。
Visual Studio test
任务似乎是我需要的基石。我认为您可以使用** \ unit * Test.dll,** \ ui * Test等“测试文件”字段来区分单元测试和UI测试。不幸的是,此任务对于Java项目不可用/不兼容。
我能够在构建过程中使用Maven任务和Surefire插件运行Selenium测试,但是请记住,我只想在构建过程中运行单元测试。
实际上,我可以通过以下解决方法在发布管道中运行Selenium测试:
通常,您只会将工件复制到工件目录中,因此我认为这样做是一个巨大的漏洞。
另一个问题是Maven将在构建和发布期间构建项目,这很浪费。为了回避浪费,一些精明的Maven配置可能会有所帮助。我曾考虑过在发布期间跳过编译并解决依赖关系,但我不知道在DevOps生态系统中的哪里可以找到Maven依赖关系。
我是否缺少某些东西,或者AzureDevops可能不能很好地支持Java?