Java 在我的testNG集成测试中,我可以多次使用@factory(在构建中使用Jenkins和Maven)吗?

Java 在我的testNG集成测试中,我可以多次使用@factory(在构建中使用Jenkins和Maven)吗?,java,maven,jenkins,testng,factory,Java,Maven,Jenkins,Testng,Factory,什么-详细步骤 我的测试调用第三方API并发送新事务请求(假设我需要对@Factory生成的5个测试执行此操作)。这些测试在此结束,状态为“待定” 第三方API需要5分钟来处理数据。我需要在5分钟后再次调用API(对于所有挂起的测试),以获取请求的事务ID,然后通过/失败测试 我想在这里启动另一个@Factory来重新生成所有挂起的测试。这些挂起的测试再次调用API(使用不同的输入)以获取事务ID,并根据此信息通过/失败测试 如何 我试图使用@Factory动态生成一系列测试并运行它们。运行这些

什么-详细步骤

  • 我的测试调用第三方API并发送新事务请求(假设我需要对@Factory生成的5个测试执行此操作)。这些测试在此结束,状态为“待定”

  • 第三方API需要5分钟来处理数据。我需要在5分钟后再次调用API(对于所有挂起的测试),以获取请求的事务ID,然后通过/失败测试

  • 我想在这里启动另一个@Factory来重新生成所有挂起的测试。这些挂起的测试再次调用API(使用不同的输入)以获取事务ID,并根据此信息通过/失败测试

  • 如何

    我试图使用
    @Factory
    动态生成一系列测试并运行它们。运行这些测试后,我想再次使用
    @Factory
    生成第二批新测试并运行它们。问题是,我第二次尝试调用
    @Factory
    时没有成功

    我在我的设置中使用Jenkins和Maven生成构建,这是我希望测试运行的时候

    问题

    第三步可行吗

    有更好的方法吗


    谢谢大家

    阅读额外的评论/问题,听起来确实像是一个整合测试

    有一些需要的集成测试库,如、、等,它们可能更适合设置此功能

    使用TestNG,您可以创建3个测试,其中下一个测试取决于上一个测试。请参阅下面的代码示例,来自


    这里最简单的依赖项是show。有关更复杂的情况,如组等,请参见示例代码,以设置两个测试类,每个类都有自己的
    @Factory
    解决方案!对这个问题的回答让我找到了答案——谢谢@Verhagen


  • 我在testng.xml中添加了2个测试
  • 在我的代码中设置了两个工厂
  • 触发生成时

    @Factory 1 creates tests --> 
    @Factory 2 creates more tests --> 
    tests by @Factory 1 are executed --> 
    tests by @Factory 2 are executed
    

  • 这就解决了我运行一批测试(第一批)然后根据第一批测试的结果运行第二批测试的要求。

    您能否解释一下您尝试完成的内容,而不使用技术细节,您尝试过的内容。听起来不符合逻辑,你做什么。所以需要更多的背景知识来回答这个问题。Verhagen,我的测试更多的是集成测试,而不是单元测试。我的错误。1.我的测试调用第三方API并发送新事务请求(假设我需要对@Factory生成的5个测试执行此操作)。这些测试在此结束,状态为“待定”。2.第三方API需要5分钟来处理数据。我需要在5分钟后再次调用API(对于所有挂起的测试),以获取请求的事务ID,然后通过/失败测试。3.我想在这里启动另一个@Factory来重新生成所有挂起的测试。步骤3可能吗?没问题,您也可以使用TestNG创建集成测试。但是如果没有更好的背景,你很难看到/理解你想要实现什么。问:第2点:第3方API调用需要5分钟。5分钟后会回来吗?或者调用是否立即返回,只是backgroond中的进程需要(大约)5分钟?只要我发送事务请求,API就会用“请求ID”响应。然后在他们的环境中处理我发送的数据大约需要5分钟。我在5分钟后再次调用API(使用不同的参数),以获取请求ID的状态。感谢所有信息。我会考虑你的其他选择。你试过两次使用@Factory吗?“可能吗?”纳什,不,我从来没试过。也许我会尝试一下作为一个小例子。纳什问:你是否使用过任何构建工具,比如Ant、Maven、Gradle?是的,在其中一次编辑中补充说“我在设置中使用Jenkins和Maven生成构建”。感谢您尝试@Verhagen!我在testng.xml中添加了2个测试。这就是所发生的,@Factory 1创建测试-->@Factory 2创建测试-->执行@Factory 1的测试-->执行@Factory 2的测试
    @Factory 1 creates tests --> 
    @Factory 2 creates more tests --> 
    tests by @Factory 1 are executed --> 
    tests by @Factory 2 are executed