当前位置: 首页 > 知识库问答 >
问题:

TestNG-测试类之间的共享状态

公羊涛
2023-03-14

我有一个测试类的testng套件,我正在通过一个testng.xml文件运行它。这个很管用。所有测试都是串行运行的,因此没有并行执行障碍。

当然,通过类成员变量在单个类中的测试方法之间共享状态是很容易的,但是我不知道如何在测试类之间共享状态。

共有1个答案

乌俊健
2023-03-14

使用工厂创建存储库。存储库存储“感兴趣的测试状态”属性。

  TestRepository tr = TestRepositoryFactory.getInstance();
  ...
  tr.store("test13.PKID", pkid.toString());

然后在后续代码中,重复对工厂的调用,然后获得值:

  String spkid = tr.get("test13.PKID");
 类似资料:
  • 目标:独立并行地运行两个类,每个测试将方法名存储到一个变量中,该变量可以在测试中稍后访问。 问题:当测试并行运行时,它们开始在它们之间共享数据,从而损坏测试。 如果您看到控制台输出,这是错误的: 因为这是两个独立的类和方法正在运行。我在这里设置了正确的名字: 输出应该是这样的: 种皮 } 测试B } 帮助者方法 Testng.xml 控制台输出

  • 我想知道在Flink中是否可以在运营商之间共享状态。 比方说,我在一个操作符上按键进行分区,我需要一个分区的状态(无论出于什么原因)(图1.a),或者我需要下游操作符中操作符的状态(图1.b)。 我知道可以将记录广播到所有分区。因此,如果在记录中包含操作符的内部状态,则可以与下游操作符共享内部状态 然而,这可能是一个昂贵的操作,而不是简单地让op1专门请求op2状态。 可查询状态的最新发展是朝着这

  • 这个问题在这里已经被问到了,但是两年过去了,我想知道是否有什么改变。 我有一个用例,我希望在两个Flink操作符之间共享状态: > A流是主流,它连续流动 流B只是富集数据的数据集。它很大(几个GBs),因此不能作为广播流。 流B有一个与之相关联的运算符(FlatMap,但可以是任何实际的),它充当状态加载器,并将浓缩数据作为列表状态加载到RocksDB中。 null

  • 问题内容: 当前,我所有的JUnit测试都从一个通用的基类扩展而来,该基类提供了带有和标记的方法 -真正要做的就是设置一堆静态资源/服务以供测试使用。 由于某些原因,这对我来说似乎很尴尬: 根据我的理解,JUnit4的部分要点是我们不再需要这种经典的测试继承。 当我将这些测试作为套件的一部分而不是单独运行(我们经常这样做)时,多次调用和,从而减慢了测试的速度-我们实际上应该只调用一次 我想做的是以

  • 我正在努力理解使用的好处。文档和其他帖子(Junit@Rule是如何工作的?)所有这些都暗指能够在类内的测试之间共享代码和/或在测试类之间共享代码。 在功能/集成测试中,我试图使用进行DB连接,但我不知道如何跨类共享该连接。事实上,在这种情况下,我并没有看到比有什么好处。我是不是用错了,还是我遗漏了什么?

  • 我在TestNG Selenium Webdriver 2.0和Java方面遇到了一个问题。我设置了断点,看到了最奇怪的行为。 我有几个包含测试组的类文件。每个类都从初始化类中所有测试的全局变量开始,包括对初始化WebDriver的另一个类的调用。接下来是一个@BeforeClass,接下来是我的@Test测试。我正在从一个testng.xml文件运行这些类。 在最近调试一个问题时,我发现在运行时